<?xml version="1.0" ?>
<kc>

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="266" date="18 Mar 2005 00:00:00 -0800" />
<intro> <p>This is the 266th issue of the Wine Weekly News publication.
Its main goal is to think fondly of Montana. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix.  Think of it as a Windows compatibility layer.  Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available.   You can find more info at <a href="http://www.winehq.org">www.winehq.org</a></p> </intro>
<stats posts="374" size="1702" contrib="110" multiples="59" lastweek="50">

<person posts="29" size="67" who="Alexandre Julliard" />
<person posts="19" size="65" who="Mike Hearn" />
<person posts="15" size="79" who="Mike McCormack" />
<person posts="15" size="40" who="Dimitrie O. Paun" />
<person posts="13" size="47" who="Scott Ritchie" />
<person posts="12" size="45" who="Jakob Eriksson" />
<person posts="12" size="42" who="Dmitry Timoshkov" />
<person posts="9" size="43" who="Tony Lambregts" />
<person posts="9" size="28" who="Oliver Stieber" />
<person posts="9" size="23" who="Juan Lang" />
<person posts="8" size="27" who="Raphael" />
<person posts="8" size="25" who="Kuba Ober" />
<person posts="7" size="43" who="Robert Reif" />
<person posts="7" size="36" who="Matthew Mastracci" />
<person posts="7" size="20" who="Steven Edwards" />
<person posts="7" size="18" who="Andreas Mohr" />
<person posts="6" size="25" who="Eric Pouech" />
<person posts="6" size="21" who="Michael Ost" />
<person posts="6" size="18" who="Paul Vriens" />
<person posts="5" size="28" who="Stefan D&#246;singer" />
<person posts="5" size="16" who="Jonathan Ernst" />
<person posts="5" size="16" who="Brian Vincent" />
<person posts="5" size="15" who="Uwe Bonnes" />
<person posts="5" size="15" who="Tom Wickline" />
<person posts="5" size="15" who="Ian Bartelds!" />
<person posts="5" size="13" who="Krzysztof Foltman" />
<person posts="4" size="17" who="Boaz Harrosh" />
<person posts="4" size="14" who="Paul Millar" />
<person posts="4" size="11" who="Andrew Neil Ramage" />
<person posts="3" size="11" who="James Hawkins" />
<person posts="3" size="11" who="Ron Jensen" />
<person posts="3" size="10" who="Stas Sergeev" />
<person posts="3" size="9" who="C. Scott Ananian" />
<person posts="3" size="9" who="Jeremy White" />
<person posts="3" size="9" who="Shachar Shemesh" />
<person posts="3" size="9" who="Ivan Leo Puoti" />
<person posts="3" size="9" who="Damjan Jovanovic" />
<person posts="3" size="8" who="Francois Gouget" />
<person posts="3" size="8" who="egore" />
<person posts="3" size="7" who="Rob Shearman" />
<person posts="3" size="7" who="Robert Lunnon" />
<person posts="2" size="34" who="Saulius Krasuckas" />
<person posts="2" size="18" who="Marcus Meissner" />
<person posts="2" size="13" who="Glenn Wurster" />
<person posts="2" size="12" who="MIchael Ost" />
<person posts="2" size="8" who="Jelmer Vernooij" />
<person posts="2" size="8" who="Francois Gouget" />
<person posts="2" size="7" who="Jesse Allen" />
<person posts="2" size="7" who="Stefan D&#246;singer" />
<person posts="2" size="6" who="Robert Shearman" />
<person posts="2" size="6" who="Joe Harnish" />
<person posts="2" size="5" who="Paul van Schayck" />
<person posts="2" size="5" who="Thomas Weidenmueller" />
<person posts="2" size="5" who="Vincent B&#233;ron" />
<person posts="2" size="5" who="Chris Morgan" />
<person posts="2" size="5" who="Peter Bortas" />
<person posts="2" size="5" who="Phil Krylov" />
<person posts="2" size="5" who="Christoph Brill" />
<person posts="2" size="5" who="Dan Kegel" />
<person posts="1" size="179" who="Rizwan Kassim" />
<person posts="1" size="120" who="Jacek Caban" />
<person posts="1" size="45" who="Vladdy Impaler" />
<person posts="1" size="22" who="Jasper van Veghel" />
<person posts="1" size="8" who="Thomas Kho" />
<person posts="1" size="7" who="Gavriel State" />
<person posts="1" size="5" who="Katia Maculan" />
<person posts="1" size="5" who="Thomas Weidenmueller" />
<person posts="1" size="5" who="Tim Schmidt" />
<person posts="1" size="5" who="Mitchell Mebane" />
<person posts="1" size="5" who="Christian Costa" />
<person posts="1" size="5" who="Paul R Streitman" />
<person posts="1" size="5" who="Juan Pablo Sousa" />
<person posts="1" size="4" who="Ferenc Wagner" />
<person posts="1" size="4" who="T.J. Zeeman" />
<person posts="1" size="4" who="Mike Hearn" />
<person posts="1" size="4" who="seut" />
<person posts="1" size="3" who="(fenix)" />
<person posts="1" size="3" who="Thomas Zeeman" />
<person posts="1" size="3" who="Brian Gerst" />
<person posts="1" size="3" who="linux-os" />
<person posts="1" size="3" who="Hans-Ulrich Schmid" />
<person posts="1" size="3" who="Jeff Waugh" />
<person posts="1" size="3" who="Andrew Bartlett" />
<person posts="1" size="3" who="Ulrich Czekalla" />
<person posts="1" size="3" who="Lars Segerlund" />
<person posts="1" size="3" who="Michael Stefaniuc" />
<person posts="1" size="3" who="Kevin DeKorte" />
<person posts="1" size="3" who="Pavel Troller" />
<person posts="1" size="3" who="Lauri Tulmin" />
<person posts="1" size="2" who="rob" />
<person posts="1" size="2" who="Troy Rollo" />
<person posts="1" size="2" who="(wino)" />
<person posts="1" size="2" who="Pavel Machek" />
<person posts="1" size="2" who="Troy Rollo" />
<person posts="1" size="2" who="Andi Kleen" />
<person posts="1" size="2" who="Lauris Misa" />
<person posts="1" size="2" who="Grant Williamson" />
<person posts="1" size="2" who="Kenneth Porter" />
<person posts="1" size="2" who="Holly Bostick" />
<person posts="1" size="2" who="Jim White" />
<person posts="1" size="2" who="Phil Krylov" />
<person posts="1" size="2" who="Sam Lauber" />
<person posts="1" size="2" who="Ge van Geldorp" />
<person posts="1" size="2" who="Joe Baker" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?=22Stefan_D=F6singer=22?=" />
<person posts="1" size="2" who="Dietrich Teickner" />
<person posts="1" size="2" who="Brian" />
<person posts="1" size="2" who="gslink" />
<person posts="1" size="1" who="Gerald Pfeifer" />

</stats>
<section 
	title="News: Enterprise Architect &amp; DirectX9" 
	subject="News"
	archive="http://www.sparxsystems.com.au/EAOnLinux.htm" 
	posts="2"
	startdate="12 Mar 2005 00:00:00 -0800"
	enddate="18 Mar 2005 00:00:00 -0800"
>
<topic>News</topic>
<mention></mention>
<mention>Tom Wickline</mention>
<mention>News</mention>

<p>Tom Wickline gave a pointer to a Unified Modeling Language tool
called <i>Enterprise Architect</i>.  The makers of EA, Sparx Systems,
<a href="http://www.sparxsystems.com.au/EAOnLinux.htm">suggest</a>
running it on Linux using CrossOver Office.  It happens to fall into
the unsupported category of software that works with CrossOver Office,
but apparently the makers of the software don't feel that's a
deterrent.  This is interesting news because it's the first time
I've seen an ISV recommend using Wine (or in this case, a derivative) 
to get their app to work on Linux.</p>

<p>Oliver Stieber updated his 
<a href="http://www.oliverthered.f2s.com/projects/wine/">DirectX 
9 page</a> to point out he might not be able to continue
working on it:</p>
<quote who="Oliver Stieber"><p>
Cash is getting short, to the extent that I may have to stop my
Internet connection, if you think my work is worth a beer or 
two then please 
<a href="http://www.oliverthered.f2s.com/support/wine_donation/">make
a donation</a>, I would also appreciate any 
sponsor of my work, support or migration work porting games or 
software to Linux, anything from my Amazon list, computer bits 
or chocolate.
</p><p>
If you don't fancy donating there are many other ways you could
help me and everyone else wanting to migrate to Linux
<ul>
    <li> Consultancy, contract or other paid work, even if 	
	it isn't related to WINE (see my C.V.)</li>
    <li> Translations, into other languages (or better English ;-))</li>
    <li> Test/ cases for DirectX 9</li>
    <li> Reports on working games and applications</li>
    <li> Reports on non-working games and applications</li>
    <li> Anything on the TODO list</li>
</ul></p></quote>

<p>If some of you guys have a few thousand dollars laying
around I'm sure you could convince Oliver to get HalfLife2
working flawlessly..</p>

</section>
<section 
	title="Parlez-vous Francais?  Oui!" 
	subject="Wine's Documentation in French"
	archive="http://www.winehq.org/hypermail/wine-devel/2005/03/0682.html" 
	posts="1"
	startdate="15 Mar 2005 00:00:00 -0800"
>
<topic>Internationalization</topic>
<mention></mention>

<p>Translating documentation can be tricky, especially when
you're aiming at a moving target like Wine.  Francois Gouget,
who's worked extensively on the documentation in the past, 
announced a bulk of Wine's documentation has been translated
into French:</p>
<quote who="Francois Gouget"><p>
The Wine documentation has been translated to French by students from
the Insa of Rouen.
</p><p>
The credits for the translation go to:
<ul>
    <li> Wine User Guide
    <ul>
      <li>Romain CONSEIL</li>
      <li>Damien GIRAUDEAU</li>
      <li>Guillaume LEFEBVRE</li>
      <li>Yvon BENOIST (proofreading)</li>
      <li><a href="http://fgouget.free.fr/wine/wine-user.html">http://fgouget.free.fr/wine/wine-user.html</a></li>
    </ul>
    </li>
    <li> Wine FAQ
    <ul>
      <li>Romuald VIEUX</li>
      <li>Yvon BENOIST (proofreading)</li>
      <li><a href="http://fgouget.free.fr/wine/wine-user.html">http://fgouget.free.fr/wine/wine-faq.html</a></li>
    </ul>
    </li>
    <li> WineLib User Guide
    <ul>
      <li>Jose CARRENO</li>
      <li>Yvon BENOIST (proofreading)</li>
      <li><a href="http://fgouget.free.fr/wine/winelib-user.html">http://fgouget.free.fr/wine/winelib-user.html</a></li>
    </ul>
    </li></ul>
</p><p>
And believe me, this is a lot of work so they really deserve our kudos.
You probably noticed that the Wine Developer's Guide was not translated
but that makes sense: if you want to work on Wine it's really best if
you speak English anyway.
</p><p>
So what's needed now is to integrate the translation with Wine. This is
what I have done by converting the translation to .po format to make it
easier to maintain and tweaking the Makefiles accordingly.
</p><p>
The patch is pretty big (even compressed it's more than 200KB) so I did
not attach it to this email. Instead I have set up a page on my web site
and you can the patch using this URL:
<ul><a href="http://fgouget.free.fr/wine/docfr.diff.gz">
	http://fgouget.free.fr/wine/docfr.diff.gz</a></ul>
</p><p>
Here is what the patch does:
   Add a Makedoc.rules.in file which handles the conversion of SGML
files to the final documentation format.
   Modify documentation/Makefile.in to use Makedoc.rules.in.
   Add documentation/fr with the po files of the French translation.
   Use po4a to generate a translated Sgml file from the original sgml
documentation and then let Makedoc.rules.in generate the documentation.
   Detect po4a in configure.ac.
</p><p>
The translation appears to have been made from a snapshot of the
documentation taken in the summer of 2004. Now, a bit more than 6 months
later, the translation is still more than 90% complete. IMHO this proves
that maintaining the translation is quite feasible. If you see any bits
of English in the documents above, this is precisely because the
translation is not 100% complete anymore: in that case po4a-translate
keeps the original version rather than use the outdated translation.
</p><p>
For more information about po4a:
<ul><a href="http://po4a.alioth.debian.org/">
	http://po4a.alioth.debian.org/</a></ul>
</p><p>
I will upload anything new to the following page:
<ul><a href="http://fgouget.free.fr/wine/docfr.shtml">
	http://fgouget.free.fr/wine/docfr.shtml</a></ul>
</p><p>
Now you pretty much know everything. Let me know if you have concerns,
suggestions, etc. I'm hoping we can get this in place soon.
</p></quote>

</section>
<section 
	title="Windows Registry Loading Removed" 
	subject="Re: wine/ misc/registry.c documentation/samples/config"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/02/0505.html" 
	posts="11"
	startdate="12 Mar 2005 00:00:00 -0800"
>
<topic>Configuration</topic>
<mention></mention>

<p>Alexandre removed a big chunk of functionality out of the blue with
the following changelog entry:</p>
<quote who="Alexandre Julliard"><p>
 	Get rid of the Windows registry loading on startup, this needs to be
 	done differently.</p></quote>

<p>Mike Hearn was the first to ask,
<quote who="Mike Hearn">

  What is the thinking behind this patch? If we don't load the Windows
  registry on startup where should it be loaded? Will this code re-appear
  at any point in the future? A significant number of users still expect to
  be able to point Wine at an actual Windows install despite what we
  recommend.</quote></p>

<p>Alexandre explained what he would like to see happen,
<quote who="Alexandre Julliard">

There should be an "import existing Windows drive" function in
winecfg, or something along those lines, that would create symlinks to
the Windows install and import the registry.</quote></p>

<p>Mike wanted to know if it would remain a feature regression;
Alexandre said it just needed someone to reimplement it,
<quote who="Alexandre Julliard">
Nobody's working on it, so it won't be supported until someone cares
enough to do it. I encouraged a few people to start working on it but
nobody did, so taking out the existing support is a way to provide
more encouragement. If that's not enough then the feature simply won't
be supported anymore.</quote></p>

<p>The good news is, all of the really hard work of loading a Windows
registry is done.  What's appears to be left is to load it and then 
merge the relevant parts with Wine's own registry.  The implementation
method would be similar to the new drive detection code in winecfg.  </p>

<p>A debate about the utility of removing functionality ensued.  Mike
Hearn cited Wine's configuration as an example,
<quote who="Mike Hearn">
   We have no config file, yet this has apparently not accelerated the pace
   of winecfg development, we just have more confused users</quote></p>

<p>Alexandre disagreed and mentioned that changing the registry loading code
was directly tied to Wine's configuration,
<quote who="Alexandre Julliard">
  Actually there has been quite a bit of work done on winecfg. To get
  more done requires people to start depending on it, which means
  finishing the transition to the new config. And in order to do this we
  need to get rid of the current registry hacks, the first of which is
  the Windows registry loading code. Whether or not someone works on a
  replacement is really secondary, the primary goal is to get the new
  registry stuff in place, even if that means some less used features
  have to be dropped for the time being.</quote></p>

<p>Later in the week, the ability to have a global registry was removed.
Some people stepped up to mention that stuff was important to them, but
there's no one working on it right now.
</p>

</section>
<section 
	title="RichEdit: RTF Writer" 
	subject="richedit patches by Phil Krylov"
	archive="http://www.winehq.org/hypermail/wine-devel/2005/03/0633.html" 
	posts="5"
	startdate="14 Mar 2005 00:00:00 -0800"
>
<topic>Controls</topic>
<mention></mention>

<p>RichEdit development is rolling forward.  More and more 
patches are coming in.  This week Phil Krylov posted a large
one to add RTF write support.  Krzysztof Foltman commented
on it:</p>
<quote who="Krzysztof Foltman"><p>
Nice to see this functionality implemented (I really didn't want to 
implement it myself). Very good code too. Thanks.
</p><p>
IMHO the patch can be applied without changes.
</p><p>
The new function ME_FindItemAtOffset isn't really necessary, you can 
achieve exactly the same thing with ME_RunOfsFromCharOfs (and I should 
have used it in ME_GetTextW instead of reimplementing the same 
functionality). I'm going to get rid of it later.
</p><p>
Now when both EM_STREAMIN and EM_STREAMOUT work, I can start 
implementing the rest of the clipboard code.
</p></quote>

<p>Phil thought of some work that needed to be done on the
reader side,
<quote who="Phil Krylov">
The RTF reader still has to be taught Unicode. Currently most 
of my existing .rtf documents are totally garbled.</quote></p>

<p>Krzysztof wasn't too familiar with Unicode and asked
Phil if it was something he'd be willing to tackle.  Phil
spent some time looking over the reader code and a few days
later began submitting patches.  All in all, this is a large
item on the Wine wishlist and it's being tackled pretty 
aggressively.  

	
</p>
</section>
<section 
	title="IBM Linux on POWER Contest" 
	subject="IBM Acknowledges Wine! Offers bounty to port it to PPC64!"
	archive="http://www.winehq.org/hypermail/wine-devel/2005/03/0667.html" 
	posts="8"
	startdate="15 Mar 2005 00:00:00 -0800"
	enddate="16 Mar 2005 00:00:00 -0800"
>
<topic>Ports</topic>
<mention></mention>

<p>Scott Ritchie announced Wine made the Tier 2 list of 
 applications IBM's Linux on POWER contest:</p>
<quote who="Scott Ritchie"><p>
 IBM has started a new contest meant to spur open source development on
 their POWER architecture, 
<a href="http://www.linuxonpower.com/">http://www.linuxonpower.com/</a>
</p><p>
 Prizes are offered for coders that port some common open source
 applications to the architecture.  A Tier 2 prize, a Mac G5, is offered
 to anyone who can port one of the list of Tier 2 applications.
</p><p>
 Color me shocked to find Wine and Winelib listed there!
</p><p>
 This marks a change in IBMs policy towards Wine, or perhaps signals a
 management oversight.  While normally it seems that they have an active
 policy of censoring any references to Wine and completely denying its
 existence, here they are offering prizes for porting it to PPC.
</p><p>
 So, now, I guess, the obvious questions: Does Winelib even need any
 porting?  Does it build on PPC as it is?  Can we run notepad and such on
 Linux/PPC?
</p><p>
 Does any of the work done on porting to AMD64 help us here?
</p></quote>

<p>Discussion then ensued about the cold shoulder IBM seems
to give to Wine.  In fact, they seem to go out of their way
to ignore Wine.  In the past they've pulled articles from their
website that mention Wine.  In their new desktop migration
Redbook they mentioned Wine once in passing.  It'll be 
interesting to see if Wine gets pulled from that list.</p>

</section>
<section 
	title="Mailslots" 
	subject="Are mailslots implemented?"
	archive="http://www.winehq.org/hypermail/wine-devel/2005/03/0622.html" 
	posts="15"
	startdate="14 Mar 2005 00:00:00 -0800"
	enddate="16 Mar 2005 00:00:00 -0800"
>
<topic>Integration</topic>
<mention></mention>

<p>Kuba Ober wanted to know about mailslots,
<quote who="Kuba Ober">
Is the one-way mailslot IPC implemented in wine?
I'm getting fixme:sync:CreateMailslotW(...): stub messages. Is this a simple 
thing to implement, or would it require additions to the server protocol?
</quote></p>

<p>Mike McCormack confirmed what needed to be done, but questioned the 
necessity of it:</p>
<quote who="Mike McCormack"><p>
Yes, it needs to be implemented in the server.  I started writing it 
some time ago, but never got round to completing it.  I submitted a test 
case...
</p><p>
Which application uses mailslots?  I only ever found one real 
application that used them, and that was "Declan's Korean Dictionary" 
from [ <a href="http://www.declan-software.com/korean.htm#Software">1</a> ].
</p><p>
If you're interested, I can send you what I wrote.  It's probably very 
out of date by now though.
</p></quote>

<p>Jelmer Vernooij mentioned the Network Neighborhood in Windows
uses it.  The idea of using libsmbclient from the Samba project
was tossed around since it contains a mailslot implementation.  
Mike McCormack followed up with some code and talked about the
implementation:</p>
<quote who="Mike McCormack"><p>
Here's the mailslot implementatation that I wrote a while back.  I've 
updated it to compile on the current CVS tip, but it's totally 
untested... I will try to test it, fix it and submit it, but in case I 
don't get round to doing that, here's a starting point for somebody.
</p><p>
Note that this patch does not allow mailslots to work over the network, 
only program to program inside Wine.  Mailslots and named pipes over the 
network are hard to implement correctly in Wine.  We can't use 
libsmbclient, and it probably needs to be done in the kernel to work 
correctly.  Perhaps fuse (<a href="http://fuse.sourceforge.net/">http://fuse.sourceforge.net/</a>) will help when 
it is integrated into the Linux kernel.
</p><p>
The test program I wrote to test mailslots a while back is available at:
<ul><a href="http://mandoo.dyndns.org/winetests/mailslot.zip">
http://mandoo.dyndns.org/winetests/mailslot.zip</a></ul></p><p>
It's pretty much the same as the regression test in 
dlls/kernel/tests/mailslot.c.
</p><p>
Apply the patch by running the following commands on an up to date CVS 
copy of Wine:
<ul><code>
cd wine<br />
patch -p0 --dry-run &lt; mailslot.diff<br />
(check there's no errors)<br />
patch -p0 &lt; mailslot.diff<br />
tools/make_requests<br />
config.status server/Makefile<br />
make depend<br />
make</code></ul>
</p><p>
The patch and the test program are both LGPL licensed.  The test program 
should run and terminate with no output or errors.  (Running the test 
program now causes it to hang...)
</p></quote>

<p>There was more discussion of using libsmbclient, but Mike
explained what the problem was:</p>
<quote who="Mike McCormack"><p>
I'm wondering whether fuse might be a 
good way for Samba and Wine to communicate?   If Samba were a fuse 
server, and provided named pipes and mailslots through a single fd, that 
would be the perfect interface for Wine.
</p><p>
For those not familiar with why we can't use libsmbclient, it's because 
we need to make sure that many Wine processes can share reading and 
writing to a single file atomically.  ReadFile needs to be done in a 
single read() operation, and WriteFile in a single write(), otherwise 
there'll be race conditions.
</p></quote>

<p>Because FUSE operates in userspace, it makes sense for
integration with Wine.  Andrew Bartlett followed up with 
more info about exposing this functionality in Samba:</p>

<quote who="Andrew Bartlett"><p>
 This is one of the many things I hope we will discuss at the WineConf.
 There should be a good Samba contingent there, and I'm assured a few
 wine folks intend to turn up ;-)
</p><p>
 In all seriousness, there are existing mechanisms to get at some of
 these packets to non-root users, but they are a bit of a Samba-specific
 hack.  For Samba4 (which is where we should plan integration, because we
 can design it properly) I would love to see wine able to register for
 such mailslots with the Samba server.  (Alternate non-samba solutions
 will probably be required in parallel, I suppose).
</p></quote>

</section>
<section 
	title="Permissions on Wine Registry" 
	subject="[badpenguin79@hotmail.com: [Full-disclosure] [ZH2005-02SA] Insecure tmp file creation in Wine]"
	archive="http://www.winehq.org/hypermail/wine-devel/2005/03/0624.html" 
	posts="5"
	startdate="14 Mar 2005 00:00:00 -0800"
	enddate="15 Mar 2005 00:00:00 -0800"
>
<topic>Security</topic>
<mention></mention>

<p>Marcus Meissner provided a security patch to Wine that was
announced on the Full-disclosure mailing list.  He forwarded
the original announcement:</p>
<quote who="Marcus Meissner"><p>
Title: Insecure tmp file creation in Wine<br />
Author: Giovanni Delvecchio<br />
e-mail: badpenguin_at_zone-h.org</p><p>

Version affected : Wine 20050211 and previous releases
</p><p>
<u>Problem</u>
 When a win32 application is launched by wine, wine makes a dump of the 
 windows registry in /tmp with name regxxxxyyyy.tmp , where xxxxxx is the pid 
 in hexadecimal value of the current wine process and yyyy is an integer 
 value usually equal to zero.
</p><p>
 regxxxxyyyy.tmp is created with 0644 ( -rw-r--r-- )permissions.
 This could represent a security problem in a multi-user environment.
 Indeed, any local user could access the windows registry's dump and get 
 sensitive information, like passwords and other private data.
</p><p>
<u>Details</u></p><p>

The functions affected are <tt>_get_tmp_fn(FILE **)</tt> in 
$winerelease/misc/registry.c and
<tt>save_branch( struct key *key, const char *path )</tt> in 
$winerelease/server/registry.c
</p></quote>

<p>Alexandre pointed out that only one of those two functions actually
were affected.  One of the functions dealt with the Wine registry in
the user's home directory, not /tmp.  Peter Bortas thought that might
still be an issue,
<quote who="Peter Bortas">
 Home directories are group readable on many sites, so to prevent
 information leakage 0600 would still be prudent.</quote></p>

<p>Alexandre pointed out the registry is actually buried a level
deeper and that's where permissions needed to be set,
<quote who="Alexandre Julliard">
 There is no leakage at all, the permissions are identical to the
 permissions on the final registry files. If users don't want their
 registry to be readable they can set umask or protect their .wine
 directory.</quote></p>

</section>
<section 
	title="Janitorial: Endianness &amp; 64-bit" 
	subject="Suggestion for a couple of additional janitorial projects"
	archive="http://www.winehq.org/hypermail/wine-devel/2005/03/0754.html" 
	posts="3"
	startdate="16 Mar 2005 00:00:00 -0800"
	enddate="17 Mar 2005 00:00:00 -0800"
>
<topic>Architecture</topic>
<mention></mention>

<p>Dmitry Timoshkov had some ideas for janitorial projects:</p>
<quote who="Dmitry Timoshkov"><p>

I'd like to suggest to add the following janitorial projects for Wine:
<ol>
<li> Fix Wine to be compilable by a 64-bit compiler
  <ul>
    <li> before accomplishing this task read a good article about porting Win32
       code to Win64.</li>
    <li> inspect and fix all public Win32 headers to match PSDK definitions.</li>
    <li> make sure that pointers do not get truncated.</li>
    <li> add support for Win64.</li>
  </ul>
</li>
<li> Fix wrong assumptions in Wine about endianess.
  <ul>
    <li> inspect all Wine code and public headers to eliminate endianess dependent
       constructs (low/high parts of a field, bit fields), add WORDS_BIGENDIAN
       when appropriate.</li>
    <li> make sure that Wine code handles data in an endianess independent way.</li>
  </ul>
</li></ol>
</p></quote>
</section></kc>
