Windows LIVE email settings

Ok, so this isn’t really virtualization, however I was setting up my step kids email, and it was a NIGHTMARE to figure out where the setup information was for the SMTP…

Like all things Microsoft it’s scattered in 320 places.

 

Configuration Settings:

  • Incoming Server = pop3.live.com
    -Port 995
    -Encryption/Authentication = SSL is required
    -Full Username = [email protected] (same as full email address, where xxxx.com = live.com, msn.com or hotmail.com )
    -Password is required
    -SPA(secure password authorization) = Off(uncheck this option)
  • Outgoing Server = smtp.live.com
    -Port 25 or 587 [Note: Preferred Outgoing is Port 587 instead of Port 25 since many ISP’s blocks Port 25 use. Similar blocking can occur when using Port 25 in hotels or accessing via a WiFi network]
    -Outgoing Server Authentication = On(check the option)-Encryption/Authentication = SSL or TLS
    * Choose SSL for Windows Live Mail, Outlook 2003, iPhone, iPod Touch, Outlook Express and Vista’s Windows Mail * Choose TLS for Outlook 2007 (required)
    -Full Username = [email protected] (same as full email address)
    – unless outgoing server is configured to use same incoming server option
    -Password is required
    – unless outgoing server is configured to use same incoming server option

This is the place to go for all the setup information it would seem.  Also I really like Vista’s email client it’s pretty dammed close to outlook 2003..  Naturally it doesn’t support Microsoft Exchange, but I have to wonder if Exchange server can be configured for IMAP over SSL.. You could then remove the need for outlook on peoples computers…

Also I found the pieces of 86-DOS, the precursor to MS-DOS, I’ll do a write up on that later… Naturally it requires the ever so awesome SIMH, and naturally you should start with the MS-DOS version right here, as it includes lots of startup emulators to get you going…

Running Windows 2003 r2 x64 on Qemu 0.9.0

This took me a LOT longer then it should have to figure out. So for anyone else wanting to run the 64bit versions of Windows on Qemu (I havent tested Vista/2008/7 yet) Only version 0.9.0 will work.

Because sourceforge is still giving me errors I’ll provide direct links…

Anyways to buidl Qemu you’ll need a MinGW/MSYS enviroment. The new stuff works on Vista x64 so that’s good to me, as it’ll run natively.

You’ll need the following files:

MinGW-5.1.4.exe
MSYS-1.0.11-rc-1.exe
msysDTK-1.0.1.exe
w32api-3.13-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dev.tar.gz

First, install MinGW by choosing the ‘current’ version, then check the following options:

*MinGW Base tools
*G++ compiler
*MinGW make

Allow it to instal into c:\MinGW

Next install MSYS with the default options. Then it’ll ask you the following, respond as I have:

Do you wish to continue with the post install? [yn ] y

Do you have MinGW installed? [yn ] y

Please answer the following in the form of c:/foo/bar.
Where is your MinGW installation? c:/mingw

Install msysDTK with the default options.

Now you should be able to run the msys CLI
Start -> run -> mingw -> msys -> msys

Let’s expand out the win32api & mingw32 dev updates:

cd /mingw
tar -zxvf /c/install/qemu-build/w32api-3.13-mingw32-dev.tar.gz
tar -zxvf /c/install/qemu-build/mingwrt-3.15.2-mingw32-dev.tar.gz

Now your ‘gcc -v’ should return something like this:

Reading specs from c:/mingw/bin/../lib/gcc/mingw32/3.4.5/specs
Configured with: ../gcc-3.4.5-20060117-3/configure –with-gcc –with-gnu-ld –wi
th-gnu-as –host=mingw32 –target=mingw32 –prefix=/mingw –enable-threads –dis
able-nls –enable-languages=c,c++,f77,ada,objc,java –disable-win32-registry –d
isable-shared –enable-sjlj-exceptions –enable-libgcj –disable-java-awt –with
out-x –enable-java-gc=boehm –disable-libgcj-debug –enable-interpreter –enabl
e-hash-synchronization –enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.5 (mingw-vista special r3)

Ok, now let’s build the prerequisits, zlib & SDL.

zlib-1.2.3.tar.gz

cd /
mkdir -p /usr/src
cd /usr/src
tar -zxvf /c/install/qemu-build/zlib-1.2.3.tar.gz
./configure
make
make install

Now SDL.

SDL-1.2.13.tar.gz

tar -zxvf /c/install/qemu-build/SDL-1.2.13.tar.gz
cd SDL-1.2.13
./configure
make
make install

Now we need to tweak some things that MinGW seems to have issues finding in the /usr/local path.. I’m sure there is a better ‘fix’ but hell, this is quick & cheap!

cd /mingw/include
ln -s /usr/local/include/zconf.h .
ln -s /usr/local/include/zlib.h .
ln -s /usr/local/include/SDL .
cd /mingw/lib
ln -s /usr/local/lib/libSDL.a .
ln -s /usr/local/lib/libz.a .
cd /bin
ln -s true.exe texi2html.exe
ln -s true.exe pod2man.exe

Ok, now we just need the source to Qemu 0.9.0…. It’s becoming something RARE which is weird considering just how compatable this version is… So I’d recommend keeping a copy in email or something.

qemu-0.9.0.tar.gz

cd /usr/src
tar -zxvf /c/install/qemu-build/qemu-0.9.0.tar.gz
cd qemu-0.9.0
./configure –target-list=x86_64-softmmu
make

Now instead of the usual Qemu 32bit x86 emulator, you’ll get qemu-system-x86_64.exe in the x86_64-softmmu directory. Running it is just like the regular Qemu. So first I’m going to create a 16GB disk to boot from like this:

qemu-img create -f qcow win64.disk 16G

*NOTE if you have any issues where it just doesn’t work, use the qemu-img from here. I’ve had issues with the one that I’ve built, but the emulator works…. go figure.

Now let’s boot from the disc:

$ x86_64-softmmu/qemu-system-x86_64.exe -m 1024 -L pc-bios/ -hda win64.disk -cdrom en_win_srv_2003_r2_enterprise_x64_cd1.iso -net nic,model=rtl8139 -net user -boot d

Now if you don’t have the ISO files, and have physical discs don’t fret! It’s easy to have Qemu point to them… Let’s say your CD-ROM (DVD/BR disk) is D: then it’s just a matter of running:

$ x86_64-softmmu/qemu-system-x86_64.exe -m 1024 -L pc-bios/ -hda win64.disk -cdrom \\.\d: -net nic,model=rtl8139 -net user -boot d

Easy, right? Remember the -m flag for memory, otherwise your VM will run in a TINY 128mb of ram.. And it’ll be insanely SLOW.

And then you’ll get this!

The first screen.. It doesn’t sound all that 64 bit does it?


Now we are talking! It certainly is the 64 bit version… It reminds me of the PowerPC/MIPS/Alpha builds where once the Kernel has loaded, it’s all Windows NT..


Select your partition, and let’s format away!


Time for the file copy… This will take a while.


Finally!

Then it’ll reboot, and you’ll get the happy bootloader!


Bootloader in action..


I haven’t timed it, but I suspect it’ll be longer then 39 minutes.

As you can see with the right version of Qemu it’s trivial to get Windows 2003 r2 x64 running… It’s good for doing some .net 32/64 bit testing… Which reminds me of another tidbit..

Some things in .net land will NOT work on IIS running in 64 bit mode. You’ll have to throw the switch to get a 32bit .net on IIS. The good news though is that this can take advantage of 2GB for a normal exe, and if you tag it, 3GB to under 4GB of ram.. So the 64bit version is not without waste.

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i -enable
iisreset
CScript “%SystemDrive%\InetPub\AdminScripts\adsutil.vbs” set w3svc/AppPools/Enable32bitAppOnWin64 1
iisreset

I did verify that this would get sharepoint to run on 2003 x64.. As I always feel better trashing a VM then real iron…

And don’t forget the flexibility of the -redir command on Qemu to allow you to redirect ports into the VM…

Say you want to use terminal server into your VM, you can redirect say port 1000 into the vm by adding:

-redir tcp:10000:10.0.2.15:3389

Then it’s a simple matter of using a terminal server client to localhost:10000

I hope this clears up how easy it is to build your own Qemu, and of course how to run something other then the ‘normal’ 32bit version of Qemu.

Windows 95 (Japanese) on Qemu

Well I ordered the Asian version of Windows 95 from retrosoftware.com . And the best part was the cover for the Internet Explorer 3.0 update:

 

Say what you will, but there is no doubt the Japanese always get more… interesting looking versions of our software…

Check out the additional pictures from the manual:

Don’t you feel bad for dear old dad?

Hmm what do I do with this RJ11??

Now we’re cruising on the internet!

Well, at least it’s not Peado bear..

Other then that, the box looks somewhat boring…

All the way from Japan!

 

Anyways I thought it would a good time to see if Qemu 0.10.5 can install Windows 95. So I started with a simple MS-DOS / Windows 3.1 install on a 1GB disk. Then I just mounted the CD-ROM (remember on a Win32/Win64 host to access your ‘D:’ drive you use the -cdrom \\.\d: to get access…)

Now the setup was SLOW, it reminded me of an old Pentium while it grinded away.. But the plus is that it actually WORKS… Unlike some other emulators with FAST machines.. I know it’s a trade off between slow emulation, or just not working at all. But Windows 95 will NOT run on physical machines with a faster then 1.5Ghz clock. (or so I remember).

Anyways with a little work you can come up with this:

Ok the good news is that it works, the ‘bad’ news is that the video & networking require drivers to run properly. Thankfully Natalia Portillo has provided all of this stuff on ONE EASY TO FIND SITE!!! I’d highly advise downloading a copy of what you need, using bzip2 to re-compress the files, and emailing them to yourself… That way you won’t lose them time & time over again!… As I just have.

Although to be honest it works better in ISA mode.. Remember the ne2000 is set for 0x300 IRQ 9 in the ISA mode.

If you want to try the PCI route, you’ll need an updated PCI driver which you can find on intel’s site here.

And one last thing I’d like to leave you Ted Stevens fans with. According to Microsoft Japan, the internet is NOT a series of tubes, but actually a bunch of trucks…. All labeled TCP/IP.

Was Ted Stevens right?

funny joke…

Well I bought some “SolarNet” netscout from SUN that allows Win16 clients to tunnel TCP/IP over an IPX network to a Solaris 2.4 x86/sparc box to access the internet… It is interesting in that it has NAT like functionality over a different network..

Sometimes we have to remember that LOTS of people in the mid 90’s only had IPX routers and an exclusive Netware environment so all this ‘internet’ talk had to be phased in, and a product like this would have allowed for a rapid deployment of people on the internet….

Anyways going thru the manual, it’s kind of funny. It’s FULL of Buckaroo Banzai jokes, talk about overthrusters, and whatnot. Then in the email client, there is this gem:

From: [email protected] (P.D.)
Subject: Careful with that Shop-Vac, Eugene!

Cleaners Vacuum Family’s Cat
—————————-
From the Ottawa Citizen, 14 May 1991

Sudbury, Ont. – Cleaners who used an industrial-strength vacuum to clean air ducts at a local home were surprised to learn that their vacuum had sucked up a cat named Pebbles.

 

“We got a call from one of my guys that the truck was meowing,” said Colin Firth, owner of Sudbury Air Duct Cleaning Systems. Firth said he thought the workers were joking until Pebbles’s owner Kristina Anderson called to say her cat had been missing since the ducts were cleaned.

Naturally SUN had credited John Whorfin for sending the whole thing..

Anyways I thought it was interesting to see what happens when tech writers run amuck.

Sadly John Bigboote didn’t seem to get any mention…. I guess management drew the line somewhere.

Oh those zany internet people!

On using SQL 4.21

Ok, I know it’s been all retro SQL server but bear with me… MSDE/SqlExpress is just too small for some pet project, and I want to run my SQL natively… So it’s 4.21 for now.

Anyways, I thought I’d mention that to run SQL 4.21 on Windows 7, you’ll need the userenv.dll from a Vista computer, just copy it to where your i386 files are so you can run the setup, even if it complains about your x64 dll as ‘The image file c:\sql\i386\userenv.dll is valid but is for a machine type other then the current machine…’. Let it continue and it’ll still run. Also remember to set it to 256 colors in the compatibility tab or you’ll never get to use any radio boxes… It still barfs initializing the services, but it’ll let you run the server, and slap down a working master database from a blank installed machine (say from NT 4.0..) Naturally you’ll have to comment out the line in setup.inf about the client access DLL dbnmpntw.dll, and register c:\sql\binn;c:\sql\dll yourself in the system’s path environment variable…

Oh and since I’m using such an ancient engine, one thing that is kind of annoying is that .net 3.5 only wants to talk to SQL Server 7.0 and higher. However using ODBC you can force it to talk to the ancient 4.21a

Here is what I’m using in my c# to talk to the sql server:

string myConnString = “Driver={SQL Server};Server=.;Database=datamine;Uid=sa;Pwd=”;
OdbcConnection myConnection = new OdbcConnection(myConnString);
OdbcCommand myCommand = new OdbcCommand(query, myConnection);
myConnection.Open();
OdbcDataReader myReader = myCommand.ExecuteReader();
myReader.Close();
myConnection.Close();

So with a little tweak you can get it running on Windows 7, and have .net talking to the database.

Another note is be sure to run the sqladmin tool, and hit the ‘system’ button, then under the manage menu, select the system configuration. By default it won’t accept remote connections, and limits itself to 6MB of ram! You’ll want to bump up its system limits. I’d also say use tempdb in ram, as you probably have more ram in your computer then any server back from 1992… I have 8GB for example on my desktop.

Just don’t forget that something this ancient won’t grow your databases for you… I’m pretty sure you can add additional database devices, and expand the DB, but it will be a while until I fill my first DB… Also you’ll probably find that a lot of the fancy SQL features you’ve grown to like are gone, but surprisingly it still offers a good base. And it’s like 25Mb for the complete install… A pittance by modern standards…

Sourceforge issues

 

Well they are changing the UI to something not quite as krusty, but in the meantime expect a WHOLE LOT OF 500 errors.

I’m trying to download a MinGW enviroment to test up some Qemu builds but that seems to be going nowhere quick…

Anyways for anyone who stumbles on this looking for my ancient BSD stuff, here is a link to my server with a newer build… I’d love to crank out all that stuff as well, but I’ve had MAJOR stability issues with SIMH 3.8-1 & Visual C++ 2008.. I’m in the middle of getting a copy from work of the ‘standard’ version which should be here soon enough… Maybe it’s just the express tools freaking out on me.

Oh well not to throw sourceforge under the bus, they have saved me a fortune in bandwidth bills in getting my stuff out to other people, and in all fairness a ‘holiday’ is a great time to do an upgrade… Well usually if you are a bank, but I think for geeks today is the day to hack.

A quick tour of the packaging of SQL 4.21

Someone sent me some questions about SQL Server 4.21. I guess since it’s a ‘rare’ item, and most people will never see one in the wild, I thought I’d show some of it off.

Vista with SQL 4.21

 

So there you go, that’s the PC I used, and the software as mentioned. As you can see from the SQL Server box, it’s the “Departmental System” version good for 64 users/128 connections.

I guess for the others interested I’ll show some box contents or something.

Contents of the package

Front of the box

High resolution of the back...

Check out the ‘requirements’ and it’s features… That’s why I love this old software! It’s not as bad as it’s reputation is… But on the x64 it’ll get it’s full 2GB of ram!

Fun with Microsoft SQL Server 4.21

First off I have this copy of SQL server 4.21 that I wanted to run on my new super fast Vista x64 box. Now it’s 32bit but completely unsupported…. And off the CD the setup doesn’t work..

But not to fear!

First from a Windows NT 4.0 CD I copy in the setupdll.dll file into the source path for SQL Server 4.21. Now the setup.exe will actually run.

So the first hint is to set the compatibility for the setup.exe to “run in 256 colors”. Now it’ll render stuff correctly, however it’ll barf because it wants to overwrite the file “dbnmpntw.dll” which won’t work. So simply editing the setup.inf file and commenting out the dbnmpntw.dll line.

Now the real pain is that it’ll run the setup, but it’ll crash when starting the sql server as a service… I still don’t know what’s crashing it.

Next grab service pack (#4) for Sql 4.21

You’ll need some kind of MS-DOS environment to extract the service pack… Either DOSBox or VirtualPC with MS-DOS will quickly do the job. I like DOSBox for this kind of thing as it can directly mount the native filesystem..

Anyways copy the DLL’s to c:\sql\dll & the exe to c:\sql\binn

Then add c:\sql\dll;c:\sql\binn to the system PATH environment….

From here you can run the sqlservr.exe in an administrator prompt, and it’ll run…

C:\SQL\sp>SQLSERVR.EXE
09/07/02 19:18:18.87 kernel SQL Server for Windows NT 4.21a.05 (Intel X86) Jun 28 1995 08:20:31
Copyright (c) 1988-1995 Microsoft Corporation; Copyright Sybase, Inc 1987-1995

09/07/02 19:18:18.88 kernel Copyright (C) 1988-1993 Microsoft Corporation.
09/07/02 19:18:18.88 kernel Copyright Sybase, Inc. 1987, 1993
09/07/02 19:18:18.88 kernel All rights reserved.
09/07/02 19:18:18.88 kernel Use, duplication, or disclosure by the United States Government is subject
09/07/02 19:18:18.88 kernel to restrictions set forth in FAR subparagraphs 52.227-19(a)-(d) for civilian
09/07/02 19:18:18.88 kernel agency contracts and DFARS 252.227-7013(c)(1)(ii)for Department of Defense
09/07/02 19:18:18.88 kernel contracts. Sybase reserves all unpublished rightsunder the copyright laws of
09/07/02 19:18:18.88 kernel the United States.
09/07/02 19:18:18.88 kernel Sybase, Inc. 6475 Christie Avenue, Emeryville, CA94608, USA.
09/07/02 19:18:18.88 kernel Logging SQL Server messages in file ‘C:\SQL\LOG\ERRORLOG’
09/07/02 19:18:18.90 kernel Maximum number of pages in batch io is limited to8
09/07/02 19:18:18.90 kernel initconfig: number of user connections limited to5
09/07/02 19:18:18.90 server SQL Server is starting at priority class ‘normal’with dataserver serialization
turned on.
09/07/02 19:18:18.90 kernel initializing virtual device 0, C:\SQL\DATA\MASTER.DAT
09/07/02 19:18:18.92 kernel Opening Master Database …
09/07/02 19:18:18.92 server Loading SQL Server’s default sort order and character set
09/07/02 19:18:18.92 server Recovering Database ‘master’
09/07/02 19:18:18.92 server Recovery dbid 1 ckpt (701,14)
09/07/02 19:18:18.94 server server is unnamed
09/07/02 19:18:18.99 server Recovering database ‘model’
09/07/02 19:18:18.99 server Recovery dbid 3 ckpt (132,26)
09/07/02 19:18:19.00 server Clearing temp db
09/07/02 19:18:19.28 kernel Using ‘SQLEVENT.DLL’ version ‘4.21.00’.
09/07/02 19:18:19.28 kernel Using ‘OPENDSNT.DLL’ version ‘4.21.09.02’.
09/07/02 19:18:19.29 kernel Using ‘NTWDBLIB.DLL’ version ‘4.21.00’.
09/07/02 19:18:19.29 ods Using ‘SSNMPNTW.DLL’ version ‘4.21.0.0’ to listenon ”.
09/07/02 19:18:21.28 server Recovery complete.
09/07/02 19:18:21.28 server SQL Server’s default sort order is:
09/07/02 19:18:21.29 server ‘bin_cp850’ (ID = 40)
09/07/02 19:18:21.29 server on top of default character set:
09/07/02 19:18:21.29 server ‘cp850’ (ID = 2)

Contrl+C will kill it… You can fire up the SQL Administrator (C:\Sql\Binn\Sqladmin.exe) but it’ll freak because the master database isn’t fully built. It’s very close to usable but so far the only way to get around the incomplete master is to copy one from an existing DB… Good thing you have that NT 4.0 CD & VirtualPC right? Just remember that SQL 4.21 will only install PRIOR to sp6. SO the install order is NT 4.0, SQL 4.21, SP6, VMadditions, SQL service pack, then copy the c:\sql directory to overrite the prior one. You may also want to export the registry keys from the Virtual NT 4.0 machine [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQLServer].

Ok now for the downside… For whatever reason it will *NOT* listen on TCP/IP. So it’ll only do named pipes… If you are only doing local stuff it’ll be just fine. The services don’t work, but the uptick is that it’s SMALL… A zip of the installed SQL is under 5 megabytes!

So in the end, it’s not terribly usefull, but I found it interesting that with a little hacking SQL Server 4.21a will run on Vista x64 sp2.

Microsoft SQL Server 4.21 on Vista x64

And here is a screenshot… I’ll have to do some quick benchmarks of 4.21 vs the 2008 Express stuff.

Why I love Windows NT 4.0!

Years ago I managed to score a bunch of copies of NT 4.0 server for $20 each (5 cals too!) and I have to say that the #1 thing I love about NT 4.0 is that it can run on small machines. In virtual machine space, this means small disks, little ram, and they don’t need that much in the way of CPU power.

And if you keep your eyes out, you can even score the best one of all, NT 4.0 Terminal server. Keep in mind that later versions of the terminal server client (the ones in XP sp2 & higher/vista/windows 7/2003 server/2008 server) will NOT connect to a NT 4.0 terminal server, but you can just grab the mstsc.exe/mstsc.dll from the NT 4.0 Terminal Server CD, or from a pre sp2 XP CD.

Anyways among the things you can setup and run on NT 4.0 right now I’m going to mention something mundane, but fun & and that’s a PPTP server. Since I’ve accidentally screwed up my Proxmox install, I installed Windows 2003 R2 x64, and the downside is that bridged OpenVPN in a VM doesn’t work. Virtual Server seems to be saving me from myself here… So I thought I’d try something a little more ‘normal’ in that space.

When it comes time to build the PPTP server, you just simply have to add the PPTP networking service into the NT 4.0 networking build. It’s easier to do this at install time so all the files will be in sync. If you try to do this to an existing NT 4.0 machine that has any service packs installed, YOU MUST RE-INSTALL THE SERVICE PACK BEFORE YOU REBOOT… Otherwise it’ll BSOD because the network drivers changed radically from sp1 to sp4+

I have an OpenBSD 4.5 firewall in a VM that has OpenVPN connections to various work sites, and connects those tunnels to ipip tunnels on my Cisco router. I then want to PPTP from my wifi into my ‘work’ network and have it automatically work. While digging around there is a minor thing to keep in mind when forwarding PPTP packets from an OpenBSD firewall to a Windows NT 4.0 PPTP server… Make sure you forward the GRE packets as well!

This is what I added to my /etc/pf.conf

rdr on $ext_if proto tcp from any to any port 1723 -> 192.168.7.10
rdr on $ext_if proto gre from any to any -> 192.168.7.10

As you can guess, 192.168.7.10 is the address of my PPTP server.

Remember to check the log if you have any issues connecting, I wasted 20 min playing with the authentication protocols before I checked the security log to realize that my user on NT 4.0 didn’t have rights to RAS into the server…

Windows NT 4.0 also makes a great host for any version of SQL Server 7.0 & prior, and it runs Exchange server 5.5 exceedingly well. I like to install my old copy of Office 97 on the terminal server, and setup my own NT 4.0 domain with NT 4.0’s IIS, SQL, Exchange & fileserver. And the overhead on any ‘modern’ computer is negligible. 32mb of ram and a 1 gig disk are more then enough for a basic NT 4.0 server.

One other note, is that I found that Terminal Server would not install on 2003 r2 x64 / Virtual Server 2005 sp1. However I could install it on Virtual PC 2007 sp1 and then just copy the vhd over to the server and it worked fine. That is another plus of the VirtualPC / Virtual Server strategy is that they share each others disk formats without any issues.. Unlike some other products that won’t take an IDE image and let you connect it to a SCSI controller… Grrr.

Anyways I hope this will help someone setup a PPTP server, or at least the missing bits to front one with OpenBSD.