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

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>

<issue num="163" date="03/28/2003" />

<intro>
<p>This is the 163rd release of the Wine's kernel cousin publication. 
Its main goal is to give you something to read while I sit on beach
in Mexico.
It also serves to inform you of what's going on around Wine (the Un*x 
Windows emulator).</p>
</intro>






<stats posts="315" size="1066" contrib="68" multiples="36" lastweek="20">

<person posts="53" size="212" who="Dimitrie O. Paun" />
<person posts="35" size="94" who="Mike Hearn" />
<person posts="26" size="80" who="Sylvain Petreolle" />
<person posts="22" size="55" who="Alexandre Julliard" />
<person posts="17" size="50" who="Tony Lambregts" />
<person posts="12" size="36" who="Jeremy Newman" />
<person posts="10" size="26" who="Paul McNett" />
<person posts="9" size="37" who="Vitaliy Margolen" />
<person posts="9" size="26" who="Jeremy White" />
<person posts="8" size="30" who="Kevin DeKorte" />
<person posts="8" size="18" who="Eric Pouech" />
<person posts="7" size="18" who="Dan Kegel" />
<person posts="5" size="12" who="Dmitry Timoshkov" />
<person posts="5" size="11" who="Steven Edwards" />
<person posts="4" size="17" who="Maxime Bellenge" />
<person posts="4" size="16" who="Uwe Bonnes" />
<person posts="4" size="12" who="Bill Medland" />
<person posts="4" size="10" who="Shachar Shemesh" />
<person posts="4" size="6" who="Brian Hechinger" />
<person posts="3" size="11" who="David Goodenough" />
<person posts="3" size="10" who="Brian Vincent" />
<person posts="3" size="10" who="Huw D M Davies" />
<person posts="3" size="8" who="Joerg Mayer" />
<person posts="3" size="7" who="Nick Clifton" />
<person posts="3" size="7" who="Fabrice Bellard" />
<person posts="3" size="6" who="Lionel Ulmer" />
<person posts="3" size="6" who="Fabian Cenedese" />
<person posts="2" size="69" who="Mike McCormack" />
<person posts="2" size="8" who="Gregory M. Turner" />
<person posts="2" size="7" who="Michael Stefaniuc" />
<person posts="2" size="6" who="Ulrich Weigand" />
<person posts="2" size="6" who="Sven Almgren" />
<person posts="2" size="4" who="Davide Giannotti" />
<person posts="2" size="4" who="Keith Matthews" />
<person posts="1" size="14" who="madhura sahasrabudhe" />
<person posts="1" size="13" who="David Miller" />
<person posts="1" size="9" who="Maxime Bellenge" />
<person posts="1" size="5" who="Eric" />
<person posts="1" size="4" who="Peter Berghmans" />
<person posts="1" size="4" who="Ferenc Wagner" />
<person posts="1" size="3" who="Rolf Kalbermatter" />
<person posts="1" size="3" who="Alberto Massari" />
<person posts="1" size="3" who="Adam Gundy" />
<person posts="1" size="3" who="Alberto Massari" />
<person posts="1" size="2" who="John K. Hohm" />
<person posts="1" size="2" who="Rick Romero" />
<person posts="1" size="2" who="Gerald Pfeifer" />
<person posts="1" size="2" who="Shachar Shemesh" />
<person posts="1" size="2" who="David Fraser" />
<person posts="1" size="2" who="Geoff Thorpe" />
<person posts="1" size="2" who="Enrico Horn" />
<person posts="1" size="2" who="Duane Clark" />
<person posts="1" size="2" who="Paul Millar" />
<person posts="1" size="2" who="Jacobus Erasmus" />
<person posts="1" size="2" who="Roland" />
<person posts="1" size="2" who="Zsolt Rizsanyi" />
<person posts="1" size="1" who="Vincent Beron" />
<person posts="1" size="1" who="Florian Schirmer" />
<person posts="1" size="1" who="Vilppa Salt" />
<person posts="1" size="1" who="Johan Dahlin" />
<person posts="1" size="1" who="Lars Segerlund" />
<person posts="1" size="1" who="Felipe W Damasio" />
<person posts="1" size="1" who="Steven Edwards" />
<person posts="1" size="1" who="fu" />

</stats>




<section 
	title="News: Interview Series Coming Soon" 
	subject="News"
	archive="http://www.winehq.org/" 
	posts="1"
	startdate="03/22/2003"
	enddate="03/28/2003"
>
<topic>News</topic>
<p>In conjunction with the newly redesigned <a href="http://www.winehq.org">WineHQ</a>
I'll be putting together an interview series with various Wine developers.  This
should be a fairly regular series and continue for a while.  Look for new interviews
every Tuesday on WineHQ.  Make a note of that - if you read this update on 
<a href="http://www.kerneltraffic.org">Kernel Traffic</a> you won't see
it posted there.</p>

<p>
The first one will be with Ove K&#229;ven and with a little
luck it'll appear this coming week.  If you have any suggestions
for future interviews let me know: question, topics, random thoughts, etc.</p>

</section>



<section 
	title="WineHQ Facelift" 
	subject="WineHQ.org - redesign"
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0.html" 
	posts="52"
	startdate="03/20/2003"
	enddate="03/25/2003"
>
<topic>Project Management</topic>
<p>Jeremy Newman announced a makeover of the WineHQ site:</p>
<quote who="Jeremy Newman"><p>
The hard parts are done. The site is live. Time to party like its 1999!
</p><p>
Thanks to all those who helped me with this undertaking. The new site
was months in the making with most of the hard work in the last few
days.
</p><p>
Dimi, when I see you, I owe you a beer.
</p><p>
Alright, back to my real job.
</p></quote>

<p>Jeremy did most of the work over the past week.  A lot of people
provided input, and a ton of suggestions were made.  Here's a brief
description of the threads discussion design considerations:

<dl><dt><a href="http://www.winehq.org/hypermail/wine-devel/2003/03/0532.html">WineHQ.org - redesign</a>
  - 03/20/2003</dt>
 <dd>Initial announcement of a test site,
	<quote who="Jeremy Newman">
 Hey all. I've spent a bit more time on the redesign of the website. I'm
 looking to get more comments from you.
 First off, You'll notice I am *toying* with the idea of placing a banner
 ad on the web site. WineHQ generates a large amount of traffic. About
 6,000,000 page hits a month. All I simply want to do, is try to allow
 CodeWeavers to make up for some of that by placing our ads on the site.
 I won't be taking any offers to put "Click the Monkey" ads. I will
 happily put up banners for other Wine related companies.</quote></dd>

<dt><a href="http://www.winehq.org/hypermail/wine-devel/2003/03/0535.html">Re: WineHQ Idea</a>
 03/20/2003</dt>
 <dd>This was a rather long thread discussing whether or not it was appropriate
 to add a "News" box on the front page.  In the end it was added to the site.</dd>

<dt><a href="http://www.winehq.org/hypermail/wine-devel/2003/03/0580.html">WineHQ redesign - TODO</a>
 03/21/2003</dt>
 <dd>A list of items to be completed, most of which involved documentation updates.</dd>

<dt><a href="http://www.winehq.org/hypermail/wine-devel/2003/03/0706.html">WineHQ redesign - going live soon</a>
 03/25/2003</dt>
 <dd>A final call for changes before the site went live later in the day.</dd>
</dl></p>

<p>Great job Jeremy!</p>
</section>





<section 
	title="Wine Downloads At SourceForge" 
	subject="[ANN] Wine @ SourceForge"
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0644.html" 
	posts="5"
	startdate="03/23/2003"
	enddate="03/25/2003"
>
<topic>Project Management</topic>
<p>Dimi Paun announced a repository of downloads available at SourceForge:</p>
<quote who="Dimitrie Paun"><p>

Some of you probably know that we had a wine project at SourceForge
for a long time, but not much was done with it. Recently, we decided
to transform it into our official download site:
<ul><a href="http://sourceforge.net/project/showfiles.php?group_id=6241">
	http://sourceforge.net/project/showfiles.php?group_id=6241</a></ul>
</p>
<p>
It currently hosts source tarballs, support files, and binary packages
for FreeBSD, RedHat, and Slackware. Check it out.
</p><p>
We invite comments, criticism, and/or praise :).
</p></quote>

<p>Eric Pouech wanted to know exactly what would be provided on
SourceForge, 
<quote who="Eric Pouech">
I think we need to define clearly what is going to appear on winehq on 
one hand, and on SF on the other hand.  I'm also worried about the sort of 
trouble we had to maintain all RPM/DEB/... available on winehq, so what's 
going to change (for good) on SF</quote></p>

<p>Dimi explained it provided a place to download files from:</p>
<quote who="Dimitrie Paun"><p>
For now things are pretty clear:
<ul>
  <li> the "Home" on SF points to www.winehq.org</li>
  <li> we are going to store only downloadable files on SF:
	<ul>
	<li> official tarballs</li>
	<li> 3rd party support files that we can distribute</li>
	<li> as many binary packages as possible (currently,
	  we have binary packages for Debian and SuSE, but
	  the respective maintainers have not voiced their
	  opinion on the matter).</li></ul></li>
  <li> the other SF features (mailing lists, CVS, bug tracker,
     patch tracker, etc.) are not currently used. However,
     I will try to monitor the bug &amp; patch tracker in case
     people start using them.</li>
</ul>
</p></quote>

</section>





<section 
	title="Making Wine Run With glibc 2.3" 
	subject="Wine and glibc 3.2.x"
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0576.html" 
	posts="13"
	startdate="03/21/2003"
	enddate="03/24/2003"
>
<topic>Fixes</topic>
<p>There's been some threads on wine-devel and IRC about making
Wine work with the new kernels and glibc found in the latest
Linux distributions.  This has been covered in past issues
(notably <a href="http://www.winehq.org/index.phpwwn/155#Threading%20Problems%20with%20glibc%202.3">#155</a> 
and <a href="http://www.winehq.org/index.phpwwn/156#Threading%20Problems%20with%20glibc%202.3%20(cont'd)">#156</a>)
, and
so has the solution, however it wasn't that obvious.  Hopefully by
posting this again it'll prevent people from mailbombing the list as
they upgrade their distribution and running into problems.  Davide Giannotti 
asked:</p>
<quote who="Davide Giannotti"><p>
 Ok, i recently compiled and upgraded to glibc 3.2.1 (<i>ed. note - he meant
 2.3.1</i>) and there's no way to make 
 wine work. There's thread related bug.
 New Red Hat, SuSE and Mandrake will be shipped with this new version of glibc, 
 so i think that's a serious bug.</p></quote>

<p>Dan Kegel gave a nice summary of the appropriate workaround:</p>

<quote who="Dan Kegel"><p>
We were all quite concerned about it until somebody reported a workaround; see
<a href="http://www.winehq.org/hypermail/wine-devel/2003/02/0260.html">
http://www.winehq.org/hypermail/wine-devel/2003/02/0260.html</a>
The workaround is to give the command
<ul><code>
   export LD_ASSUME_KERNEL=2.2.5</code></ul></p><p>
before running Wine (and probably before running configure, too).
(This is documented in each distro's beta release notes, e.g.
<a href="http://rpmfind.net/linux/redhat/beta/phoebe-3/en/os/i386/">
http://rpmfind.net/linux/redhat/beta/phoebe-3/en/os/i386/</a>)
Have you tried this yet?
</p><p>
The changes needed are deep.  Alexandre has started on them, but
given the workaround, it can probably wait a bit.
</p><p>
See also
<ul>
<li><a href="http://www.winehq.org/hypermail/wine-devel/2003/02/0252.html">http://www.winehq.org/hypermail/wine-devel/2003/02/0252.html</a></li>
<li><a href="http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=83254">http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=83254</a></li>
<li><a href="http://ftp.yars.free.net/pub/software/unix/platforms/linux/dist/redhat/updates/rawhide/?C=S&amp;O=A">http://ftp.yars.free.net/pub/software/unix/platforms/linux/dist/redhat/updates/rawhide/?C=S&amp;O=A</a></li>
</ul></p></quote>

<p>Sylvain Petreolle tested it and verified it worked.  Kevin DeKorte had some
problems until he grabbed a fresh copy from CVS.  Also, you may want to note that
RedHat has a boot-time option (<tt>nosysinfo</tt>) that can be set to disable
the new threading library.</p>






</section>


<section 
	title="Wine &amp; Services" 
	subject="wine server and services ..."
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0557.html" 
	posts="8"
	startdate="03/19/2003"
	enddate="03/22/2003"
>
<topic>Integration</topic>
<p>Last week a thread about services popped up, but I didn't cover it.
Again this week there was another.  Lars Segerlund wrote:</p>
<quote who="Lars Segerlund"><p>
  Would it not be possible to launch wineserver to handle NT services ?
</p><p>
  Thus if the user was logged in services would be running ( if he fx. 
had started wineserver in his .xsession file ).
</p><p>
  I do realise that there are issues such as privileges and multiuser, 
but this would circumvent them would it not ?
</p><p>
  I have looked at some of the other things people have written about 
services, but this looks doable.
</p></quote>

<p>Steven Edwards thought it would be possible,
<quote who="Steven Edwards">
You might want to make a wrapper application like wine/programs/services. This program could then
be started by wineserver and a config option if you want to try and run a NT service. I don't
really see the point on running services under WINE unless you want to try and install AV software
that loads as a service =)</quote></p>

<p>Sylvain Petreolle didn't like the idea at all,
<quote who="Sylvain Petreolle">
dooooont do it ! even wineboot isn't started by the server !</quote></p>

<p>Steven thought about it and remarked,
<quote who="Steven Edwards">
I haven't been following how wineboot operates as I don't have a need for it under Mingw or Cygwin
ATM. Sylvain is right you should look at the way wineboot and rpcss work under WINE and then
implement services as such. It would be nice if you add a net command to wcmd so we can net stop
service-name
</quote></p>

<p>Shachar Shemesh, wineboot author, gave some more input:</p>
<quote who="Shachar Shemesh"><p>
I guess you can blame the war for some of the delay with that (I live 
about where Saddam has aimed most of his scuds 12 years ago - I was more 
into launch probabilities and trying on gas masks than wineboot lately).
</p><p>
It basically boils down to this - wineserver has not started any 
synchronous wine utils in the past (the font generation is performed, as 
far as I can tell, in the server context itself), and the whole thing is 
taking time and patience to sort out. If all you want is asynchronous 
services starting, that's easy (I practically have the code lying around 
somewhere). If you want services to start halting other processes before 
they start - that's going to be tricker.
</p><p>
In any case, you can merge that right into wineboot itself. It currently 
has several command line options that control how it starts. One of the 
option is to do a full session startup, and another is to do just the 
pre-login startups (that one doesn't have a command line yet, but that's 
really simple). We can put services support there.
</p><p>
We can, but I don't recommend it. I think we should aim for Wine to have 
a simple RPM/Deb install. There are several implications to this simple 
statement. One of them is using a shared (unix) system wide directory 
structure (be it on a real or on a fake windows, doesn't really matter. 
Personally I think fake windows is the only thing that really matters). 
This, in turn, means that services should be started on system wide 
basis. Services also have a different set of permissions and users than 
the usual processes. In short - I think they belong in neither wrapper 
nor wineboot, but require a more specific solution.
</p></quote>

<p>Shachar also gave a link to a thread last October
<a href="http://www.winehq.org/hypermail/wine-devel/2002/10/0578.html">
technical hurdles</a> of implementing services.  I didn't cover that one,
but going back and re-reading it the issues are still relevant.  Martin
Wilck asked:</p>
<quote who="Martin Wilck"><p>
 I have had a look at dlls/advapi/services.c and found that it is pretty
 incomplete. Can anybody tell what the current implementation is used for
 (are there any known programs starting services?)
</p><p>
 In particular I'd like to know what people generally think about the
 usefulness of Services in Wine. 
</p><p>
 The fact that wine cannot change user personalities and is lacking most
 of the NT security concepts makes services pretty useless. 
 However it may be desirable to translate services into something useful
 on Unix, especially for winelib (it would be useful for the app I am
 trying to port).  
</p><p>
 Has there been a discussion yet how to set this up without compromising
 system security?
</p></quote>

<p>Greg Turner had a lot of ideas:</p>
<quote who="Greg Turner"><p>
 A system administrator already could do this.  Anyhow there's really no need
 to bring sudo into the picture.  If a sysadmin is crazy enough to want to run
 a wine "service" as root, they could just invoke their executable from an
 init script; that's more "service" like anyhow.
</p><p>
OTOH, I guess sudo could be used like this: if we are going to go the 
route of "being uncompromisingly unixey" then the services API should
just manipulate init scripts.  So, for example:
<ul>
  <li>Installing a service == create an init script</li>
  <li>Set service as "automatic" == put the script in the default runlevel</li>
  <li>Uninstall a service == remove from all runlevels &amp; remove init script</li>
  <li>... etc.</li></ul>
</p><p>
Now, we create "wineservices.exe", create sudo permissions on this
for the appropriate users, and implement it very, very carefully.
</p><p>
Needless to say, this is a very sketchy proposition.  It is "correct," 
from a certain perspective; it's also very, very likely that people
will use it to create huge gaping security holes in their system, like
basically allowing themselves to run arbitrary scripts as root with
very little effort, and then, inevitably, wine will get a bad rap as a result.
</p><p>
I'm starting to lean towards the opinion that if these security and
identity aspects start to be implemented, then wine should just have its
own user database, kind of like samba.  So, for example, we create
a database that maps unix users onto wine users, with flexible percieved
windows permissions within the wine sandbox, or, in server environments,
wine maps unix accounts onto domain accounts from the server.
</p><p>
This way, a user could "be administrator" within wine, but not be root
on their unix box.  If we just thunk wine security down to unix security,
we are ignoring a very important difference between Windows and UNIX:
the vast majority of unix users don't run as root; whereas the majority
of Windows users /do/ run as Administrator or some equivalent.
</p><p>
An example: wine users need to run installers.  Installers, as often as not,
need Administrator permissions.  This isn't an issue right now because
wine ignores security and tends to look like Windows 98 or lower,
anyhow.  As we move towards a 2000/XP-like implementation (this is
inevitable and unavoidable IMO if we want wine to remain useful),
things start to get really awkward.  So, User X wants to run Adobe
Acrobat installer (which more-or-less works with wine right now).
But it's the future, and wine looks like W2K.  So when the installer
gets to the stuff about installing printer drivers, it fails, forcing the user
to become root to do the install.  But root doesn't even have a ~/.wine
directory!  And if the user creates a symlink, all hell breaks loose because
fake_windows becomes a mix of files owned by root and files owned by the
user.  I could concoct tons of similar examples.  But I'll spare you the bandwidth.
</p><p>
In short: wine has relied on unix security historically, and it's been good 
enough, because wine security / permissions implementations have been
nonexistent or exceedingly simple.  Once we start getting more sophisticated
about W32 security (and it seems to me, based on recent discussion, that this
time is coming sooner than later), it's going to be inappropriate to continue
with this approach, because we don't want to encourage users to do wine
stuff as root.
</p></quote>

<p>With the proper tools, this "just" becomes a packaging problem.  However
there is a lot of development work that needs to be done to make this 
feasible.  Shachar gave some ideas how to tackle the permissions problems:</p>
<quote who="Shachar Shemesh"><p>
I think Wine should, and CAN, do without privelege escalation at all.
</p><p>
Let's look at some of the examples presented here. If we want to give a 
multi user Windows experience that is compatible with the multi-user 
Unix experience, our trust model must be comperable. My view of such a 
case is this:
Wine is installed on the system. This means that there is a directory 
called "/usr/wine", inside of which you can find "/usr/wine/windows", 
"/usr/wine/Program Files" etc. Permissions on this directory are set 
according to the unix standard - i.e. - only admins.
</p><p>
Then again (assuming W2K compatibility) - you get "/usr/wine/Documents 
and Settings/dimi", that is a symlink to "/home/dimi/wine". It goes 
without saying that, as far as the Windows applications, "C:\Documents 
and Settings\dimi" is the directory, writable to the proper user.
</p><p>
Now, you need to be administrator to install a new program. Nothing new 
about that. If the admin want's to change that, she can set a group to 
the entire /usr/wine directory structure, and give that group write 
permission. There are still some security issues with this model. The 
wine server probably needs to be SUID to server everyone, etc. But 
still, that is a model that works. Besides, the server does not need to 
be SUID root, it can have a special user for that purpose. This is 
probably also required for registry access, if we want to enforce 
registry ACLs - we can't have a malicious user by pass the wine 
permissions by simply accessing the file directly, so the system 
registry file must not be readable by normal users (hence the need for 
suid on the server).
</p><p>
As for printer drivers, and services at large - there is a major 
question here of whether we wish Wine services to be able to server 
non-wine processes. If the answer is "yes", as is probably the case with 
an Adobe PDF printer driver, or with a winmodem's driver, root must 
install them.
</p><p>
If the answer is "no", then there is no breaking of the model. With the 
directory structure as defined today, each user can install it, claiming 
full admin rights over the loca directory structure. Of course, the new 
adobe's printer driver only serves his programs.
</p><p>
There is one problem with this model that has to do with windows 
programs that require admin in order to RUN. I know of a few of those. 
Some of them simply require DirectX, and these don't seem like a problem 
in Wine. Others require file access, and I was considering writing a 
program for Windows that will work around that by API remapping. I think 
it will be possible to make these programs work without breaking 
permissions. If so, it will certanly be easier to implement in Wine than 
in Windows.
</p></quote>

<p>Alexandre wasn't convinced it was useful enough to begin worrying
about it:</p>
<quote who="Alexandre Julliard"><p>
IMO the real question is what do we need this for?  Sure we can use
Unix mechanisms to emulate running services as different users
etc. but is that really what we need?  What are these services doing
that requires switching users?  Is that how we want it to be done
under Unix?
</p><p>
I think that if an application really requires extensive compatibility
with the Windows security mechanism, then it may not be a good idea to
run it under Unix at all, since it probably won't do what you want
anyway. So what are the real world cases that require these kinds of
things?
</p></quote>

<p>Martin did need it:</p>
<quote who="Martin Wilck"><p>
 I have a real-world example for an application needing the service API
 and the logevent API. No user-account switching and "extensive
 compatibility with the Windows security mechanism" is required.
 It could very well be run in a special account, and doing that would IMO
 not raise substantial security issues. 
</p><p>
 All that's needed is a working service implementation in the sense that
 services can be registered which wine would start automatically when
 it's launched.
</p></quote>

<p>In the thread this week Greg Turner, RPC guru, gave some other reasons:</p>
<quote who="Greg Turner"><p>
why do we need it?  because it's in 
windows: q.e.d.  
</p><p>
But in case that doesn't convince you: think it would be useless to run SQL 
Server or Backup Exec under wine?  I don't.  In fact I'd posit an opposite 
question: why should we bother implementing RPC if we don't plan to implement 
services?  They go hand-in-glove IMHO.
</p></quote>



</section>







<section 
	title="Valgrind for Wine" 
	subject="valgrind for WINE!!"
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0561.html" 
	posts="1"
	startdate="03/21/2003"
>
<topic>Debugging</topic>
<topic>Memory Management</topic>

<p>Ironically, I can't remember if I've ever posted anything using Valgrind
to check Wine's memory management.  It's definitely been discussed in the past.
Adam Gundy reported success with getting Valgrind to check for memory problems:</p>
<quote who="Adam Gundy"><p>

hi... after much hard work and midnight oil, I have made valgrind (the memory
access checking tool) work with WINE.
</p><p>
You can run multi-threaded Windows programs under WINE (under valgrind), and
have stack traces printed out for all the memory errors both in WINE and in
the Windows program (and yes there are a LOT in WINE itself).
</p><p>
the purpose of this email is just an initial heads up, and a question - in order
to print stack traces from (debug) compiled windows binaries, I have borrowed some
of the PDB and PE reading code from WINE and added it to valgrind. AFAIK there
shouldn't be a (license) problem with this, since WINE is LGPL and valgrind is GPL,
but I just wanted to check before putting my neck on the chopping block.
</p><p>
assuming no one has any problems with licensing, then my next job (hopefully early
next week) will be to submit the valgrind patches to the valgrind development
mailing list for consideration. after the valgrind people have had a few days to mull
over the patches, I will submit the patches needed to WINE to make it work (limited
architecture, plus some fixes for the more annoying bugs found by valgrind).
</p><p>
please DON'T fill my inbox with requests for these patches yet - hopefully they will
be available shortly.
</p></quote>



</section>






<section 
	title="Error Requiring 32/16 Bit DLL Combinations" 
	subject="Thunking?"
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0674.html" 
	posts="3"
	startdate="03/24/2003"
>
<topic>Fixes</topic>
<p>I can see this as something others might have run into (I think I have
before), so I'll post this short thread.  Mike Hearn wanted to know why
he was having trouble loading a DLL:</p>
<quote who="Mike Hearn"><p>
Does anybody know what could cause this error?
<ul><code>
err:thunk:_loadthunk (commctrl.dll, Cctl1632_ThunkData16, comctl32.dll):
Unable to load 'commctrl.dll', error 2</code></ul></p>
<p>
I checked, I don't haev comctrl.dll anywhere. I'm trying to get IE6 to
work on an "out-of-the-box" Wine install, ie trying to move to a
completely WineHQ setup rather than the winehq/crossover setup I was
using before.
</p><p>
I was under the impression that thunking was only used for 32/16
bridging, and IE6 is a 32bit app, so I don't really understand why it's
trying to load this library using LoadLibrary16... does anybody have
some tips?
</p></quote>

<p>Dmitry Timoshkov diagnosed the problem,
<quote who="Dmitry Timoshkov">

 You are using comctl32.dll from Win9x which *requires* 16-bit counterpart
 commctrl.dll. Edit [DllOverrides] in wine.conf and make comctl32.dll=b,
 or copy commctrl.dll from a win9x distribution.</quote></p>

<p>That worked for Mike, though he ran into other unrelated problems.</p>

</section>




<section 
	title="QEMU x86 Emulator" 
	subject="[announce] QEMU x86 emulator version 0.1"
	archive="http://www.winehq.org/hypermail/wine-devel/2003/03/0686.html" 
	posts="3"
	startdate="03/23/2003"
	enddate="03/24/2003"
>
<topic>Ports</topic>
<p>Fabrice Bellard announced an x86 emulator,
<quote who="Fabrice Bellard">
The first release of the QEMU x86 emulator is available at 
<a href="http://bellard.org/qemu/">http://bellard.org/qemu/</a>. 
QEMU achieves a fast user space Linux x86 
emulation on x86 and PowerPC Linux hosts by using dynamic translation. 
Its main goal is to be able to run the Wine project on non-x86 
architectures.
</quote></p>

<p>The <a href="http://fabrice.bellard.free.fr/qemu/qemu-doc.html">Reference
Doc</a> provides a pretty good background on how it works.  It doesn't
appear to be at the level of supporting Wine, but the basic framework is in
place.  </p>

<p>Ulrich Weigand was excited,
<quote who="Ulrich Weigand">
Using gcc to generate code snippets is a *great* idea!
This makes it really easy to port; I've already got it 
running on s390 </quote></p>


</section>


</kc>


