PocketPC development

2001-01-25 Thread Mac Reiter

By the way, if anyone wants to develop for PocketPC (CE 3.0) or CE 2.12
devices, but thought the tools were too expensive, check out:

http://www.microsoft.com/windows/embedded/ce/tools/emvt30order.asp

The tools are free, but they charge $7.50 for shipping.  You get CE
versions of Visual C and Visual Basic.  Works pretty well, and a lot better
than the old SDKs and toolkits that hacked themselves into your normal
Visual C install.

Just thought I'd mention it, since I'm trying to do some porting and
optimization work onto PocketPCs, and wouldn't mind some help from people
who were more familiar with the VNC code...

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: PocketPC development

2001-01-25 Thread Mac Reiter

Full package, no licensing trickiness, generate and sell commercial apps if
you want to, and it supports ARM, MIPS, SH3, and SH4.  The ONLY problem is
that is does not support devices prior to 2.12 (although I strongly suspect
that 2.11 devices would still work, I have not verified this yet).

Mac


At 04:13 PM 1/25/01 -0700, you wrote:
>Is this just the 30-day trial version, or the real package?
>Are there any catches like upgrade requirements?
>
>Also, can it generate binaries for any WinCE platform
>(specifically, I'm interested in SH (Hitachi SuperH))?
>
>Thanks,
>
>-- Joe
>
>Mac Reiter wrote:
>> 
>> By the way, if anyone wants to develop for PocketPC (CE 3.0) or CE 2.12
>> devices, but thought the tools were too expensive, check out:
>> 
>> http://www.microsoft.com/windows/embedded/ce/tools/emvt30order.asp
>> 
>> The tools are free, but they charge $7.50 for shipping.  You get CE
>> versions of Visual C and Visual Basic.  Works pretty well, and a lot better
>> than the old SDKs and toolkits that hacked themselves into your normal
>> Visual C install.
>> 
>> Just thought I'd mention it, since I'm trying to do some porting and
>> optimization work onto PocketPCs, and wouldn't mind some help from people
>> who were more familiar with the VNC code...
>> 
>> Mac
>> -
>> To unsubscribe, send a message with the line: unsubscribe vnc-list
>> to [EMAIL PROTECTED]
>> See also: http://www.uk.research.att.com/vnc/intouch.html
>> -
>
>-- Joe Knapka
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: persistent connection drops

2001-02-01 Thread Mac Reiter

>>Are the logged-in / logged-out display resolutions the same?
>
>No.  Both clients are running at 1280x1024, server at 800x600.  I've got 

An explanation for why the question was asked would probably help...  Any
time the Windows machine running the VNC server changes its resolution, the
server disconnects all VNCviewers.  This is because the viewer created a
properly sized framebuffer during login, and that framebuffer may not be
able to handle a different resolution (at least, I suspect that is the
reason -- there may be some issue inside the server instead).  It is very
easy under NT to have the "global resolution" (for lack of a better term,
not being a giant NT user myself) and the "user resolution" be different.
Thus, the log in screen is at (say) 640x480, but once you log in it
discovers that your user preferences request an 800x600 screen, so it
changes resolution -- boom, the server disconnects all clients.  When you
log out, it will go back to the login res of 640x480, which will disconnect
all clients again.

Does that help?

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: persistent connection drops

2001-02-01 Thread Mac Reiter

The only time I have seen a remote login/logoff cause a VNC drop is when
the server has different screen resolutions for login than it has for
normal use.  That is why I gave the extended explanation that I did.  When
you log in LOCALLY, does the monitor click or do anything to suggest that
it is changing resolutions?
Mac

At 04:56 PM 2/1/01 +, you wrote:
>At 01/02/2001 15:57, you wrote:
>> >>Are the logged-in / logged-out display resolutions the same?
>> >
>> >No.  Both clients are running at 1280x1024, server at 800x600.  I've got
>>
>>An explanation for why the question was asked would probably help...
>
>The key sentence in my original email is:
>
>Basically whenever a remote login/logoff request is being made, the 
>connection to the client either hangs or drops.
>
>[the word "remote" has been added] :)
>
>More details on the original email that started this thread :)
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Newbie questions

2001-02-07 Thread Mac Reiter

Screen comes from Server, so server would have to be on user's machine.
WinVNC can be installed as a service, so it is always running on user's
machine, though I would find that offensive as a user.  The server can also
be run as a normal program, which allows the user to know when their
machine is being viewed.  VNC does not include a chat box.  I usually just
open Notepad on the remote machine and establish some kind of rule for when
I am finished typing.  The easiest and cleanest is to press RETURN twice,
which adds an open line, which also makes it easier to see where the
different people were talking.

Alternatively, you could use NetMeeting, which can share desktops, share
individual programs, share files, audio/video conference, shared
whiteboard, and chat window.  It works nicely, but setup is considerably
more involved, and the Licensing agreement is in typical MicroSoft dead
tree style.  As near as I can tell, you are free to do what you want, but
I'm not certain of that.

You may also wish to visit www.tridiavnc.com for a modified version of VNC
that contains some other options to speed up slow links and simplify remote
administration.

Mac

At 10:24 AM 2/7/01 -0700, you wrote:
>I am trying to evaluate if VNC suits my needs.
>A couple of quick questions to the group should
>save me several hours in the Docs.   TIA.  I
>want to use VNC to support users of my
>software.   Specifically I want to be able to
>see their screen (via the internet) on my
>server.  I would also like a small chat dialog
>box to be available.
>Does it work this way or does the user have to
>be the server?
>
>regards
>Roger Clark
>VPN - newbie
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: 5800/5900 question

2001-02-09 Thread Mac Reiter

That is mostly correct.  80 is not used for anything.  WinVNC places its
HTTP server at port 58xx.  An important note, however, is that if you use
the vncviewer.exe client rather than the Java applet, the only port that is
needed is the 59xx port.  58xx is only needed for people wishing to control
a computer without having the vncviewer.exe client on their machine.
Personally, the Java viewer is enough slower that it is worthwhile to me to
simply carry a floppy disk around with the vncviewer.exe client on it, and
run it from the floppy.  But then again, people frequently comment that I
am odd...

Mac

At 12:44 PM 2/9/01 -0600, you wrote:
>My understanding of this is the 5800/5900 ports are what need to be opened
>in the firewall.  If you are initating a session in VNC using the web, first
>you are using port 80 (the standard www port) then the VNC server applet
>loads and you are using 58xx where xx is the video number.  ie) if your
>server is 10.10.10.10:0 your url would be http://10.10.10.10:5800 and
>10.10.10.10:1 would be http://10.10.10.10:5801
>
>5900 is the port the server itself uses... 
>
>Correct me if I am wrong people :-)
>
>Thanks,
>
>__
>J. Mike Needham
>CC User Acceptance Lab - Sprint PCS
>*[EMAIL PROTECTED]
>'913-253-5357
>ASCII stupid Question, Get a Stupid ANSI
>
>
>-Original Message-
>From: Neal Nelson [mailto:[EMAIL PROTECTED]]
>Sent: Friday, February 09, 2001 1:17 PM
>To: [EMAIL PROTECTED]
>Subject: 5800/5900 question
>
>
>I have a question about firewall filtering and ports 5800/5900.
>
>For a simple configuration (Win98 server, Win98 client) will there
>be traffic on both 5800 and 5900?
>
>Does even this simple configuration involve "downloading pages
>and applets"?
>
>Thanks,
>
>Neal Nelson
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Keyboard shortcut for scrolling large screen?

2001-02-09 Thread Mac Reiter

>I realize I could just run CDE and get the same
>effect, but I like my twm window manager which 
>I have customized quite extensively and CDE does
>not use twm.

Alternatively, check out tvtwm, which apparently uses the same config files
as twm, but provides a virtual screen on the X side.  This would allow you
to use your existing customizations.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Exporting sound with VNC

2001-02-13 Thread Mac Reiter

Sick and Painful Though-Of-The-Day:

If you can guarantee that the Win32 based server has it's audio recording
system set up to Record from all output channels, including "Wave Out", I
have a class that will call a function of your choosing for every N samples
of audio data.  You could then transmit that over the link back to the
viewer and pump it into the client's Wave Out to hear everything.

This is a relatively large hammer, since I think all you wanted was
particular events to transmit sound.

Several problems:
1. SLOW - streaming uncompressed audio requires a BIG network pipe.
2. Dropouts, jitters, etc - Unless you have guaranteed flowrate between the
computers, you'll hear audio dropouts when spikes in network usage
temporarily block your audio flow.
3. Some programs on the server will refuse to open because they can't grab
the audio device (because it is being used to record local audio)

I have done this for a project at work, so I'm not sure if I can give away
any of the code, but if you really want to try it, most of the tricky bit
came from a recent edition of Charles Petzold's "Programming Windows".

Also, if you look in the windows SDK documentation, you should be able to
find documentation on audio codecs (COmpressor/DECompressors), which will
substantially decrease the network load of the audio stream, potentially
even making it possible to use over a modem.  

http://msdn.microsoft.com/library

You want the Platform SDK, Multimedia, and look around.

OH, and if you do it, don't just send every audio packet you receive.  Most
of the time the computer won't be making any sound, so you would just be
wasting bandwidth transmitting a flat wave.  When each audio packet comes
in, see what the largest deflection from centerline is, and only transmit
it if it exceeds some value.

OH (again), this also means that you could hear what was going on in the
server room, if the server is equipped with a microphone...

Mac

At 04:35 PM 2/13/01 +0900, you wrote:
>Hi everyone,
>
>I am interested to export/regenerate sound at the client machine whenever a
>new message window appear on the server machine. Is there anyone tried to
>go in this direction with VNC or I am the first one. Also if anyone could
>guide/update me with his knowledge to have this functionality then it will
>be a great help. It will give me a kick start instead of inventing the
>wheel again. Feel free to send e-mail to me at [EMAIL PROTECTED]
>
>Best Regards
>
>Saeed Khan
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Exporting sound with VNC

2001-02-13 Thread Mac Reiter

>Sick and Painful Though-Of-The-Day:

Sorry, make that "Thought-Of-The-Day"...
Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: For best screen responsiveness?...

2001-02-14 Thread Mac Reiter

[Original]
>>I'm using VNC/MacOS Viewer and a Windows server under Win2000. We've 

[Reply]
>Under a *nix server and Windows client, I've found the best combo is using 

[Please note, I am not the original poster, so if the following offends,
please don't blame him...]

Ummm, solutions for *nix servers aren't particularly applicable to a
problem with Windows Servers...  *nix servers don't even use polling, since
they are the graphics and I/O system (equivalent to replacing GDI and USER
under Windows with GDIvnc and USERvnc, which don't exist yet...)

My personal experience is that the only way I can ever get perfect screen
behavior to to turn on poll fullscreen.  Supposedly you can use the faster
polling methods and then make modifications in a config file for individual
applications that are having problems, but I've never tried that.  Seems
like the FAQ had a moderate amount of information on this issue, but I
don't remember for certain now.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Problem in using VNC on Linux

2001-02-14 Thread Mac Reiter

What I finally learned to do was replace the twm line with

/etc/X11R6/xinit/Xclients

or 

~/.Xclients

or something like that.  You can find where Xclients exists with:

find / -name Xclients

If your machine is single user, you may only have the global one
like the first path I gave.  If you have several users, each one
may have a local config in their home directory (the ~/.Xclients
version), which is usually hidden (by the . as the first char).

I have more info, but hopefully that will get you started.
Mac

At 01:39 PM 2/14/01 -0800, you wrote:
>Hi,
>
>I installed VNC on Linux having the Gnome window
>manager. I edited the "xstartup" file and changed the
>window manager from "twm" to "gdm". When I log in
>using the viewer I donot get the Gnome desktop.
>Could anyone help me in this regard ?
>
>thanks
>Regards
>Satya
>
>__
>Do You Yahoo!?
>Get personalized email addresses from Yahoo! Mail - only $35 
>a year!  http://personal.mail.yahoo.com/
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Single App Share patches

2001-02-15 Thread Mac Reiter

I am trying to use Celine Fage's Single App sharing modifications from the
Contribs pages.  I have applied all the code to the 3.3.3r7 src, and
removed the Corba stuff from my project so it will compile, and am now down
to a problem with the following function:

HWND fenetre = m_client->m_buffer->GetHwndFn();

In Particular, I do not have any function by the name GetHwndFn anywhere in
the code.  I suspect that this was a small function that called EnumWindows
that Celine simply overlooked in the posting.  Does anyone have this
modification applied and if so, could you send me the code and location for
it?  Thanks!

For what it is worth, I am hoping to use this as the first step towards a
version that can share multiple apps, somewhat like NT Terminal Server,
except that if the apps overlap you have problems...  If it works out, I'll
recontribute the result.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: mapping a remote drive

2001-02-16 Thread Mac Reiter

>yes..clearly it means opening a port, but with a smart
>password, is it any different that opening a port for VNC or
>ftp for that matter?
>
>in fact, if u only open one drive or one directory to the
>world, might it not be even safer?

Well, it would be, except that Microsoft has demonstrably pathetic
security.  Workgroup sharing passwords can be bypassed (note that I did not
say cracked, simply bypassed), and the method for doing so is widely known.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC perf issues

2001-02-19 Thread Mac Reiter

One alternative suggestion - if X windows works well, you could try the
port of XFree86 to Win32 DirectX that was done with CygWin.  This is
developer code, and I haven't tested it, so I will simply leave you with
the link and let you check it out for yourself.  In theory, as an X server
sitting on DirectDraw, it should be able to use any available hardware
acceleration (fast lines, circles, blits, etc).

http://sources.redhat.com/cygwin/xfree/

As for VNC, I can't help much.  Sounds like either VNC has amazingly bad
PseudoColor support (possible, since AT&T doesn't seem to use it) or Apollo
is doing something incredibly stupid that is forcing Xvnc to push a lot of
data to the client.  I have seen CAD programs that did lots of screen
blanking, which can be done on local hardware within one screen refresh
(even on a remote X Terminal, the command only takes one packet to
transmit, and then the remote hardware could do the blank very quickly).
VNC, on the other hand, must transmit the entire blank screen and apply
that.  With hextile encoding, this operation should be very fast, but other
encodings would have trouble. (Question for Developers: does hextile
understand PseudoColor?  If not, it will fall back to something like Raw,
which will be PAINFULLY slow for this kind of operation)

Also, are you doing any kind of secure tunnelling that involves machines
connecting to a port on localhost that is then forwarded?  If so, make sure
that the client and server are not agreeing to use RAW encoding.  I'm not
sure exactly which situations lead to this, but I know that sometimes I get
a report "Connecting to same machine : preferring Raw encoding" (or
something very similar - I don't have the message in front of me right
now).  I discovered this while trying to tunnel (with program of my own
design) over a link that did not have PPP support.  The transmission was
painfully slow, because it thought that the server and client were on the
same machine, so it switched to Raw encoding, which would be very slow for
full screen blanking.

Is there any way that you could establish a protected minimalist account on
a machine so that developers could run VNC clients against your Apollo
program and see what was happening?  This may not be possible from
licensing, security, or bandwidth usage concerns, but it would be extremely
helpful for the people who understand the underlying code to figure out why
Apollo is having so much trouble. (Question for Developers: if Jeff can
actually get clearance to do this, would you be willing to investigate the
matter, in the interest of a better, more capable Xvnc?)

You could also check out http://www.tridiavnc.com, who have made several
modifications to VNC.  I have no idea if they have made any fundamental
changes to the PseudoColor support.

Mac (just another user, with occasional forays into development)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Drive mapping?

2001-02-20 Thread Mac Reiter

Drive letters are single characters, so you can extend somewhat further
into the ASCII character set, but you quickly run into a problem...  The
next "letter" after Z is [, which just looks funny ( [:\config.sys ), but
probably works.  The second character after Z is \, which will confuse the
file system tremendously ( \:\config.sys means something totally different...)

You can also reference resources directly in most places with the following
syntax:

\\remotemachine\remotedirectory\FileIWant.txt

This does not work from DOS (or at least not DOS programs -- command.com
seems to understand it sometimes), but you keep mentioning Win2000, so that
may not be an issue.  Since you aren't mapping anything, you can do as many
of these direct references as you need.

Mac

At 01:19 PM 2/20/01 +0800, you wrote:
>Does anyone know how many drivemappings you can make? i mean after
>Z-drive can make more? and how much more and how??? I am using windows
>2000.
>
>Normally you have a line at the config.sys or autoexec.bat it say:
>LASTDRV=Z
>
>so you can only have drive mapping till Z?? not possible to make more?
>please adive.
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Drive mapping?

2001-02-20 Thread Mac Reiter

>I've just this minute joined this mailing list.
>
>I thought it was to discuss VNC.
>
>Am I in the wrong place?

You are in the right place, but things sometimes take considerable side
roads.  Having remote control of a computer raises the issue of file
transfer to remote machines, which spawned a whole security discussion, and
now limits to the number of shares...  Hang in there.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Firewall problem solved

2001-02-20 Thread Mac Reiter

>The ONLY other change I made is that I have VNC running as an app instead 
>of a service on Windows ME, but I can't imagine that made much of a
difference.

Windows ME has the stupidest networking option I have ever seen -- if it
can't detect a functioning network connection, it disables the ENTIRE
network stack -- you can't even talk to localhost (127.0.0.1) because the
TCP/IP driver isn't loaded.  Dunno if it has any effect, but when WinVNC
loaded as a service, it might be that the TCP/IP driver wasn't configured yet.

Just a thought,
Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: ARM VNC?

2001-02-23 Thread Mac Reiter

At 10:34 AM 2/23/01 -, you wrote:
>Being the non-programming sort of person I am, is there anyone out there
>working on a version of VNC for ARM processor powered machines like the
>iPaq? 
>
>~Shaun R.

The PocketPC development tools are free from Microsoft.  You can either
download the two CDs worth, or send them $7.50 for shipping to receive them
on CDs in a nice jewel case.

The stated reason for the lack of ARM binaries is that the development team
did not have ARM compilers.  This should no longer be a problem.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC Ports

2001-02-26 Thread Mac Reiter

>Hi Brett,
>
>VNC requires two ports to go in and out 5800 and 5900. Will not work any
other way.
>
>Mario

Sorry, but if you don't know what you're talking about, PLEASE don't send
in answers.  People get confused enough without deliberately presenting
false information.

5900 +  (or 59xx in shorthand) is the ONLY required in/out
port.  That is the VNC protocol port.

58xx is a convenience, and the only thing it does is serve up a Java
version of VNCviewer, which then connects (using the standard 59xx port,
just like all other viewers) back to the server.  As long as you have a
normal executable version of VNCviewer, you can block 58xx with impugnity.

I have also seen people asking about port 80, which VNC servers do NOT use
at all.  That confusion arises because of the mini-HTTP server that is
running at 59xx.  Many people see "HTTP" and immediately assume it is at
port 80.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Bad naming convention

2001-02-26 Thread Mac Reiter

Just as a note from someone who has been working to port the VNCviewer code
to new platforms:

The use of "log" as a global variable name was and is amazingly poorly
thought out.  "log()" is a standard math library function, and many
compilers (the ones I keep having to use, in particular) are not happy
about trying to access a member method of a function pointer...  In my set
of code, I have replaced all instances of "log" with "globallog", but
almost any name would be better than "log".  Even "Log" would work (though
I personally hate using only capitalization to distinguish things), except
that the class is named "Log".

Could this be fixed before the next set of source code is released?  It can
be done almost entirely with a global search and replace (though it has to
be in multiple files -- I used UltraEdit 32 because it made this operation
much nicer).  Be careful to specify "whole word only" and "case sensitive"
or you might change things you didn't mean to change.

I am cross posting because this exists in both the AT&T and the Tridia
sources.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



PocketPC virtual keyboard

2001-02-26 Thread Mac Reiter

For those of you who may find yourself needing to program a Windows CE 3.0
/ PocketPC device, it can be very helpful to your users if you ALWAYS
ensure that the virtual keyboard is available before asking them for any
textual input.  Here is the code necessary for doing so:

#include 
#include 

void SomeFunction(long Argument)
{
// Try to bring up input panel
BOOL fRes = FALSE;
SIPINFO si;
memset(&si, 0, sizeof(si));
si.cbSize = sizeof(si);
if (SHSipInfo(SPI_GETSIPINFO, 0, &si, 0))
{
si.fdwFlags |= SIPF_ON;
fRes = SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
}

// 
}

Note that you may wish to do similar code but mask out the SIPF_ON bit to
remove the input panel when finished...
si.fdwFlags &= ~SIPF_ON;

As a concrete example, the authentication process under VNC viewer for CE
is extremely annoying, because "Today" (the scheduling app that is almost
always up) does not provide a way to bring up the keyboard.  So if you
forget to switch to something else, you have to jump through a lot of hoops
to get the keyboard up and focus back on the authentication dialog.  Here
is the top of AuthDialog.cpp, with my modifications inside the "#if
UNDER_CE" blocks.  This works quite nicely.  When the auth dialog closes,
the keyboard closes itself, so it is not necessary to mask out the SIPF_ON
flag.

Mac



// AuthDialog.cpp: implementation of the AuthDialog class.

#include
"stdhdrs.h"
#include "vncviewer.h"
#include "AuthDialog.h"
#include
"Exception.h"

#if UNDER_CE
#include 
#include 
#endif


//
//
Construction/Destruction
///
///

AuthDialog::AuthDialog()
{

m_passwd[0]=(TCHAR)'\0';//_TEXT('\0');
}

AuthDialog::~AuthDialog()
{
}

int
 AuthDialog::DoDialog()
{
#if UNDER_CE
// Try to bring up input panel
BOOL fRes = FALSE;
SIPINFO si;
memset(&si, 0, sizeof(si));
si.cbSize = sizeof(si);
if (SHSipInfo(SPI_GETSIPINFO, 0, &si, 0))
{
si.fdwFlags |= SIPF_ON;
fRes = SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
}
#endif



return DialogBoxParam(pApp->m_instance,
DIALOG_MAKEINTRESOURCE(IDD_AUTH_DIALOG), 
NULL, (DLGPROC) DlgProc, (LONG)
this);
}
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: how can i install vnc server as remote and giving the password an d settings?

2001-02-28 Thread Mac Reiter

[EMAIL PROTECTED] wrote:

>How can i disable or hide the remote screen for my users?. I need the remote
>users can't see what i doing with their computers.

and

>how can i install vnc server as remote and giving the password and settings?
>thanks.

Maybe I'm paranoid, but a remote installation specifying password,
settings, and hiding the screen from the users -- Hmmm...  That particular
combination of desires disturbs me.  Could you describe your intended use?

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Swap16IfLE

2001-03-01 Thread Mac Reiter

Just curious...  Why does VNC have a function called Swap16IfLE()?  Why not
use ntohs()?  Or is ntohs equivalent to a Swap16IfBE()?  Host computer byte
ordering vs canonical network byte ordering is something that the earliest
TCP/IP stacks solved and provided routines for...

Of course, standard TCP/IP libraries supply both ntohs (Network TO Host
Short) and htons (Host TO Network Short), which is kinda silly nowadays,
because both functions do exactly the same thing -- reverse the byte order
if necessary, and return the input otherwise.

Oh, and there is also ntohl and htonl to use instead of Swap32IfLE.  Saves
having to change those function definitions for each platform.  

I guess it could be to provide them as #defines to forcibly inline them,
though I would expect compilers to do a pretty good job with the standard
networking libraries as well.

Doesn't really matter, regardless, just struck me as odd.  
Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Failed to find 8-plane PseudoColor visual

2001-03-02 Thread Mac Reiter

>> Does anyone know what the warning message mean when I ran an
>> application with in the VNC desktop.  I tried to start the VNC server
>> in 8, 16 and 24, I still got the warning.
>> 
>> *WARNING: Atr: Failed to find 8-plane PseudoColor visual
>> 
>> My Desktop color depth is set to 24 on my Ultra10 with Solaris8.
>> 
>> Any suggestion would be a great help.
>
>This sounds similar to the problem I came to the list with recently.
>The answer seemed to be that vncviewer can't display on an X server
>that's 24-bpp when it isn't padded to 32-bpp;  a bit puny if you ask me
>but I haven't the tuits to do anything about it.
>
>Use xdpyinfo on the X display you are trying to run vncviewer on and
>see what it says about the visuals, depth, masks, etc.

Are you having problems with vncviewer itself, or with a program that is
being run on the remote machine through VNC?  The error message sounds like
an application that is overly restrictive in its expectations of the X
server.  If this is the case, what application is exhibiting this problem?

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC as only display on Sol 2.6 for CDE login??

2001-03-02 Thread Mac Reiter

At 03:13 PM 3/2/01 -0600, you wrote:
>Can anyone tell me what I am doing wrong??? I've searched all the online
>resources to no avail...
>
>I have been using VNC for some time on my local LAN between my NT machine
>and Solaris workstations.  I now also admin our company mail server which is
>also a Solaris 2.6 box on the WAN.  It is a pain to do everything remotely
>without a GUI. So, I installed VNC and config'd same as on local boxes for
>dtlogin.  This server does NOT have a display adapter and was not previously
>starting an Xserver.  When I boot the machine, these are the running root

My first blush is that you don't have any of the X support system
installed.  Xvnc replaces the X server application, but the server
application is only one file out of a considerably suite of other servers,
fonts, config files, etc that is X11R6.  I'm not sure how you would go
about installing X11R6 for Solaris 2.6.  In theory, you could get source
from the X Consortium or from the XFree86 project (although I doubt the
XFree86 source will work very well on non-Intel CPUs).  Hopefully someone
with more Solaris experience can verify and suggest ways of getting X
installed.

Alternatively, you could try out Tridia VNC, which *claims* to be able to
remote control the console (text mode), which would be excellent for your
setup.  When I pulled down the Tridia installer, it bombed while trying to
change ownership of some files to a userid and groupid that don't exist on
my system, so I'm not terribly impressed myself, but maybe it's just me.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: WinVNCServer Thought

2001-03-05 Thread Mac Reiter

>intercepted very differently.  One way to do what you are asking for would
>be to write your own video driver.  My understanding is that Windows 2000
>allows for multiple video drivers to exist at once yet obtain the same
>screen information, however I might be wrong on that count.  Regardless,
>this wouldn't work well for Windows 9x where you would need to have a
>pass-through video driver that was installed _instead_ of your existing one.

Another possibility (which may be partially being done by WinVNC -- I
haven't looked at those sources) is to rewrite WinVNC to hook into as much
of the graphics pipeline as possible.  Some of the hooking can be done with
SetWindowsHookEx (which I suspect WinVNC is already using), which is
documented here:

http://msdn.microsoft.com/library/psdk/winbase/hooks_7vaw.htm

There is also a way to catch any call into any DLL, which would allow the
server to detect any call into GDI32.DLL, which would allow for Xvnc-like
performance for normal applications (won't help DirectX, but you could
always fall back to periodic polling for those applications).  I have a
link to an article that was on the Microsoft site about using this to
intercept the compilation of VB6 application.  The author hooked a system
DLL to determine when the back-end compiler/assembler was being spawned
with CreateProcess, delayed the actual call of that function, rewrote the
source files that were about to be assembled, and then let the call go
through.  Doing so to GDI32 would be perfect.  Unfortunately, Microsoft
appears to have pulled said article.  I know that it was from some
periodical in 1999, but I can't seem to locate it.  I will keep trying, but
if anyone already knows how to do so (or if WinVNC already uses this)
please let me know.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: WinVNCServer Thought

2001-03-05 Thread Mac Reiter

>through.  Doing so to GDI32 would be perfect.  Unfortunately, Microsoft
>appears to have pulled said article.  I know that it was from some

Ouch...  I found the listing.  It's pretty hairy, and it is in VB code,
which is not the way I would want to do this, but that's life, I guess...
The extremely short version is that it reaches into a DLL and patches the
Import Address Table so that whenever something tries to link to a function
in that DLL, it links to a function of your choosing instead.  For the nice
people at VNC, this could be used for making the super fast WinVNC server.
For the evil hordes of virus writers, this is just another giant gaping
hole in Windows to be exploited for fun and/or profit.  I suspect this is
why Microsoft pulled the main article, although anybody who wanted to do it
for evil intent already knew it, I'm sure.  Dunno if this technique is
available in all versions of Windows or not.  I would *hope* that under NT
and 2000 you would be unable to do this sort of patching from usermode.
The WinVNC service might still be able to do it with Administrator
privileges, however.

Oh well, I pass the link on in hopes that the information will be properly
mirrored and held in storage for the day when Microsoft remembers to delete
all the sidebars to that article...

http://msdn.microsoft.com/library/periodic/period99/jclista.htm
http://msdn.microsoft.com/library/periodic/period99/jcside2.htm
http://msdn.microsoft.com/library/periodic/period99/jcside1.htm
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Re: SSH and VNC

2001-03-06 Thread Mac Reiter

At 01:28 PM 3/6/01 -0500, you wrote:
>Then double check to make sure that you added the registry value correctly
>(it does NOT go in the "Default" key).  I don't think you have to, but try
>stopping and re-starting the WinVNC Service.

(to original poster)
Also, make sure that you are in the right cluster of the registry.  VNC
uses at least two different clusters, and maybe more.  AllowLoopback only
works in one of them.  It seems like I added it to four different places in
the registry to get it to work the first time.  Later, the VNC
documentation clicked for me, and I understood the one place where I needed
to put it.

Be sure that you don't have any typos or different capitalization.  I think
the Registry is case sensitive.  AllowLoopback (correct) is not the same as
AllowLoopBack (incorrect).

You may want to run Regedit and make sure the key is there in the right
place and right spelling and everything.

Since you followed the instructions on the web site, you probably don't
need the following information.  But this issue did confuse me for quite
awhile, so I thought I might point it out for other people...

To clip from the WinVNC documentation:

-
WinVNC - Advanced Settings
[clip - you've already read this - just wanted a point of context]
Versions 3.3.2 R5 and later use a more sophisticated organisation of these
options to allow more flexibility.   It also makes it rather complex, so
we're thinking about alternative ways of doing this. WinVNC will currently
look for settings in the following places: 

[IMPORTANT : Each setting will end with a statement of what kind of setting
it is.  Look that up in the following table of four to find out where in
the registry the setting goes.]
   
Local machine-specific settings. Options specified here are not
overridable. Location: 
HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\ 

Local default user settings. Location: 
HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default 

Local per-user settings.  These override the local default user settings.
If there is no current user, the username SYSTEM will be used. Location: 
HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\ 

Global per-user settings.   These are only read if AllowProperties has not
been set to zero (see below) Location: 
HKEY_CURRENT_USER\Software\ORL\WinVNC3

Most options can only be specified in a subset of these places, as
specified in each option's description below. 

Advanced Options:
[clipped AuthRequired]
AllowLoopback 
By default, WinVNC servers disallow any vncviewer connections from the same
machine.   For testing purposes, or, potentially, when using multiple
instances of WinVNC on Windows Terminal Server, this behaviour is
undesirable.  Setting this registry entry to 1 will cause local-loopback
connections to be allowed.  Setting it to zero will filter out such
connections. Local machine-specific setting. 
-

So, since AllowLoopback is a "Local machine-specific setting", that means
that the path is :
HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\ 

You add a key under there of type DWORD, name it AllowLoopback, and change
its value to 1.

It would appear that the instructions on the aforementioned web site do
this for you, although I am not absolutely certain how to interpret .REG
files.  The obvious interpretation would be that the given line :

[HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3]
"AllowLoopback"=dword:0001

does exactly what you want...
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: complete crash of windows 2000 using vncviewer (fwd)

2001-03-08 Thread Mac Reiter

>I get the problem using vncviewer.exe so i dont think its a java problem

To everyone having this problem, let me repeat something that has already
been mentioned:

vncviewer (and probably the JVM that is running the java viewer) performs
scaling by calling a function in GDI called StretchBlt.  GDI has to ask
your video card driver if it supports hardware accelerated scaling.  If the
card says yes, then the request is passed straight to the driver.  The
driver operates bare on the metal, and if it blows up, it will take Windows
down with it.  

Most of the people reporting this problem appear to have an ATI card.  My
personal experience with ATI cards is that their drivers are (pardon my
language) crap.  Any machine I have ever seen with an ATI card in it has
more crashes, more visual glitches, and more hangups than other machines.

I have performed scaling to a considerable variety of different scales, and
never had a problem.  I STRONGLY doubt that the problem is in vncviewer.
It is almost certainly in the ATI driver.  Since most of you have
downloaded the newest driver, which still contains the problem, I would
recommend one of the following courses of action:
1. Writing to ATI and reporting the bug.
2. Not using scaling.
3. Turning down video acceleration (Can't tell you exactly how to get to it
in 2000.  95/98 would be Control Panel - System -> Performance tab ->
Graphics button -> move the hardware acceleration button down until the
problem disappears.  If the problem persists even when the slider is at
"None", *THEN* it is not a problem in your driver.  It could be a problem
in Win2000s GDI.  However, if moving this slider down DOES fix your
problem, then the source of the crash is GUARANTEED to be in your video
driver, and you should flame ATI into the ground.

If anyone knows the proper way to use SetBrushOrgEx after using
SetStretchBltMode, you might also verify the code in ClientConnection.cpp
of the VNC viewer code.  This is the only source of bug I can imagine in
the VNC code itself, and would not explain the Java problems.

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: GDI DLL Wrapper

2001-03-08 Thread Mac Reiter

At 03:13 PM 3/8/01 -, you wrote:
>What about non gdi updates? Directdraw etc?

Personally, I don't care.  If GDI updates could be trapped, WinVNC would
become multiple TIMES faster (200% or so, I would expect, given how well
Xvnc performs).  WinVNC already supports per-application special flags, so
if you have a DirectDraw application you could turn on Polling for that
application without making everything else in the system perform like a
dog.  That shouldn't even require adding new flags, because I think they
already have one for performing window polls for specific applications.

I'm ecstatic to hear someone willing to write the GDI wrapper, and hope
that someone takes up the banner on the WinVNC side (I'd like to, but have
nowhere near enough time now or in the next few months).

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: GDI DLL Wrapper

2001-03-08 Thread Mac Reiter

>I dont think they are handled even in the original WinVNC code. I have no
>idea about DirectX api but I think the same idea can be used by wrapping the
>appropriate DLL.

They are sorta handled, the same way everything else is handled.  If you
GetDC(0), you have the device context for the screen - ie, the actual video
RAM.  DirectX DCs still go to the video RAM, so if you poll pixels out of
the full screen DC, you also cover DirectX operations.  It's terribly slow,
but I have run programs that use DirectDraw, Direct3D, and even OpenGL
acceleration through VNC.  As I said, polling can still be used for those
programs until wrapper can be written for those interfaces.  A GDI wrapper
would catch 99% of all normal intended uses of VNC, and would be so much
faster than the current approach.

DirectX is COM based, which means you would have to register your own COM
component with the same GUID.  But if you did that, you would be unable to
get to the original COM component.  You *might* be able to wrap the 4 or 5
normal DLL entry points and do some pass through tricks, but I think it
will be much harder than doing so with straight DLLs.  That's why I don't
want to see effort that could be spent getting a working GDI wrapper spent
on DirectX stuff.  Get the biggest payoff with the least effort whenever
possible, right?

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: GDI DLL Wrapper

2001-03-08 Thread Mac Reiter

>If you can make the DLL only send data for functions that have been
>requested to send hook data, using a set of flag bits, then the idea
>sounds reasonable.  I'm not sure how well it will work in practice,
>though.  WinVNC is really just interested in knowing when an area of the
>display bitmap has been written to (we can leave CopyRect for later).

But if you caught BitBlt and StretchBlt, CopyRect encoding that would be
comparatively easy.


 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: PLANAR vs CHUNKY

2001-03-09 Thread Mac Reiter

>"vncDesktop: Current display is PLANAR, not CHUNKY! WinVNC cannot be used
with
>this graphics device driver."

I received this error while trying to set up WinVNC on an embedded system.
Fortunately for me, I knew what the terms planar and chunky meant from my
own graphics programming experience.

To the VNC team - since this appears to be a growing problem, this error
message needs to be updated.  I doubt that more than 5% of computer users
even stand a chance of knowing what this message is talking about.  A more
directly useful error message would be "WinVNC requires a display with 256
or more colors.  Please adjust your video settings, update your drivers, or
change your video hardware."  EVEN BETTER - WinVNC could attempt to
automatically switch to a 256+ color mode with ChangeDisplaySettings or
ChangeDisplaySettingsEx.  Then, if that worked, the user wouldn't have to
do anything else.  If it failed, the error message could be even more
explanatory.

Please keep in mind that this is a problem on the SERVER end, not on the
viewer end.

History and technology lessons follow for those of you who are interested...

For those of you who are interested, this is a problem because WinVNC must
pull the image of the screen from the system.  It does this with GetDIBits
(probably with some intermediate work, but this is the core routine), a
function supplied as part of Windows.  To process the pixels, VNC wants
full 24bit color values.  GetDIBits refuses to convert images from planar
(definition below) screens into 24bit color values.  It *would* be possible
to replace GetDIBits with a looping call to GetPixel, but the speed penalty
would be unimaginable.  GetPixel is PAINFULLY slow.

As for what Planar and Chunky mean -- the image on your screen is stored in
memory somewhere.  In a Chunky system, all of the information necessary for
displaying one pixel is in a single contiguous "chunk".  256 color displays
use 8 contiguous bits, 24bit displays use 24 contiguous bits, and so on.
You can represent any pixel by one single address and a knowledge of how
many bits you are interested in.  By contrast, Planar video modes store
data in bit planes.  This is usually only used for 16 color or lower
displays.  16 colors requires 4 bits per pixel to store.  It would be
possible to store those 4 bits contiguously, in a chunky format.  But when
16 color modes first came around, the hardware was not fast enough to
handle that.  The designers had to split the work out into parallel units.
So they made 4 different regions of memory, called bit planes.  Each bit
plane stored one bit of each pixel for the display.  The first bit plane
stored the first bit of all the pixels.  The second bit plane stored the
second bit, etc.  That allowed the hardware to use a separate piece of
equipment on each bitplane to construct the necessary signals to send to
the monitor.  (Keep in mind that pixel clocks, the frequency at which
values must change for the monitor to display a pixel, exceed 28MHz for a
640x480 60Hz monitor.  In the days when an 12MHz 286 was a hot machine, you
couldn't expect a single pipeline to manage all of this work at 28MHz.)
Anyway, planar mode became the standard for 16 color modes, and continued
as such even after the hardware no longer needed it -- software written for
planar mode would not be able to work in a chunky format.

The practical upshot of this is that the standard VGA driver that will work
on almost any video card runs in 16 color planar mode.  Unless you can get
the SVGA driver or some chip specific driver to support 256 or more colors
on your hardware, you won't be able to run WinVNC.  And there isn't really
anything reasonable that the developers could do to change that -- as I
mentioned, the only alternative (GetPixel) is too slow to even consider.
Screen updates would take around a minute, even on fast CPUs, and worse on
a 486 or Pentium 75.

Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: GDI DLL Wrapper

2001-03-09 Thread Mac Reiter

Has anyone looked into SetDDIHook?  It is part of the Active Accessibility
system, and allows you to route ALL GDI->device driver calls through a
16-bit DLL of your choice.  The 16 bit part annoys me, but it would give
you all the information you could hope to need, and you could simply pass
on any call you didn't want to handle.

Mac

At 10:38 PM 3/9/01 +, you wrote:
>On Thu, 8 Mar 2001, Sharma, Shashi wrote:
>
>> So, if I just send the drawing request(like drawline, BitBlt etc)  with the
>> bounding rectangle then WinVNC would be able to do the rest.
>> I am intersted to know what would be the performance gains.
>
>Considerable.  WinVNC could completely avoid checking the supplied update
>rectangles for changes - it could assume that they had definitely changed.
>It would also catch more display updates, producing fewer graphical
>glitches.  It would involve a suitable GDI32.DLL patch (assuming that this
>approach will work without breaking things) and a new VNCHooks.dll to use
>the new hooks.
>
>Cheers,
>
>James "Wez" Weatherall
>--
>Laboratory for Communications Engineering, Cambridge - Tel : 766513
>AT&T Labs Cambridge, UK  - Tel : 343000
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: GDI DLL Wrapper

2001-03-10 Thread Mac Reiter

>> Has anyone looked into SetDDIHook?  It is part of the Active Accessibility
>
>I asked Microsoft about why a header file for this was missing and they
>said that it is a mistake in the SDK docs - there is no such API.

It isn't part of the Win32 API.  It is part of the Active Accessibility
SDK, like I said.  You can download that SDK at:

http://www.microsoft.com/enable/msaa/download.htm#SDK

The gdi.lib included there has such a function.  The gdi32.lib does not.
This functionality was not in the original 95, and would require that the
redistributable parts of Active Accessibility be installed.

You can write your own header from the documentation given, and then link
against gdi.lib to gain linkage to the actual function.

DWORD CALLBACK DDIHookProc(
  HDDI hddi,
  LONG lPrivateData,
  DDITYPE ddiType,
  LPDDIPARAMS lpDDIStruct
);

WINDDIAPI HDDI WINAPI SetDDIHook(
  HDC hdcHook,
  HMODULE hModCode,
  LONG lPrivateData,
  UINT hookClass,
  DDIHOOKPROC lpfnDdiHook
);

WINDDIAPI DWORD WINAPI CallNextDDI(
  HDDI hddi,
  DDITYPE ddiType,
  LPDDIPARAMS lpDdiParams
);

WINDDIAPI BOOL WINAPI UnhookDDIHook(
  HDDI hddi
);

You'll probably also need the 95/98 DDK (Driver Development Kit) to get
access and documentation for the actual calls that get passed through this
interface.

Since it does not exist in gdi32.lib, I wonder exactly how it works, and if
it actually catches everything.  I bet it catches all GDI calls, but
doesn't catch any of the DirectDraw or WinG calls.  However, the
documentation specifically states that it works in 95 AND 98, so if it was
a "typo" it was the biggest bloody typo I've ever seen.  2000 has a
different system, which I will report as soon as I find the name of it
again, which does the same thing, but in an incompatible way (of course...
They couldn't do the 16 bit DLL thing in 2000).

This system is also available in NT 4, SP4 or higher.

I *strongly* suspect that this interface is what RAdmin uses to gain its
considerable speed.  If you've ever used it, it is frequently hard to tell
that you are at a remote terminal at all.  Of course, it only works for
Win32 to Win32 remoting, and it does cost some money.  But if we could use
this SetDDIHook interface in VNC, we could laugh maniacally as we have
blazing fast remote control of Windows servers from Linux machines.

Mac
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: GDI DLL Wrapper

2001-03-13 Thread Mac Reiter

A gentleman just sent me source code to an application and a dll that hooks
GDI this way and logs all of the DDI calls to a file.  He included all
source code to both the application and the DLL.  Would you like the ZIPped
archive of code and executable?

Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: GDI DLL Wrapper

2001-03-13 Thread Mac Reiter

At 11:38 AM 3/13/01 -0600, you wrote:
>A gentleman just sent me source code to an application and a dll that hooks
>GDI this way and logs all of the DDI calls to a file.  He included all
>source code to both the application and the DLL.  Would you like the ZIPped
>archive of code and executable?

Which, of course, is bogus...  Or at least, doesn't do anything useful in
its current state.  The arguments coming back do not appear to be correct,
and I am not sure what the source of the error is.

For what it's worth, winddi.h and the other headers needed to make
SetDDIHook work are from the 95/98 DDK, since this involves hooking calls
destined for the device driver.

Win2000 (and maybe ME?) uses DDML, the Display Driver Management Layer, at
least according to Beta 3 of the 2000DDK.  I have been unable to download
the 67MB final DDK to see if it is present in the final release.

Here is a resource to a book on advanced GDI/DirectDraw programming, which
includes chapters on writing API spys to detect calls through GDI32 or any
other DLL.  Dunno if anyone else is willing to buy this and try to core
dump the relevant bits into the VNC development group.  My efforts are
going to have to be focused elsewhere.
http://www.fengyuan.com/

http://www.internals.com has lots of info on Windows internals.  They even
have an API spy program.  Unfortunately, it is built around code from
Microsoft for binary patching and instrumenting DLLs, which has a license
that is incompatible with the GPL.  http://www.research.microsoft.com is
the homepage for Microsoft Research, and if you look for the Detours
package you can find out about it.

Also at the Active Accessibility site, supposed documents for hooking
graphics calls at the device driver level for NT (unfortunately for me, NT
only...  I need speed in 98.)  Look for "Graphics Hooking Example Code"
roughly 1/2 down the page.  Claims to be for NT4 SP3, which makes it highly
likely that this is one of the techniques used by RAdmin, which requires
that patch level...
http://www.microsoft.com/enable/dev/downloads.htm

Just trying to diseminate as much info as I can find in the hopes that
someone will find the magic clue that lets RAdmin and Remote-Anything run
so fast, so that it can be placed in VNC...



 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: GDI DLL Wrapper

2001-03-14 Thread Mac Reiter

>RAdmin just uses the DDML system, which just passes all graphics calls to
>multiple graphics drivers, one of which is a hooking one.

Any ideas how RAdmin works under 95/98?
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



FTP SOLUTION!

2001-03-14 Thread Mac Reiter

Only for Windows users -- NetMeeting.

NetMeeting supports Remote Desktop Sharing.  Also, as a conferencing
manager, NetMeeting supplies file transfer operations.  It also supplies
audio and video communication, shared whiteboards, chat room, etc., which
may or may not be useful.  NetMeeting also supports sharing individual
applications, though there are some unavoidable problems with that
(graphics for regions that are underneath other windows do not exist in
Windows, so there is no way to forward those regions)

On both machines:

1. Open your control panel.
2. Choose "Add/Remove Programs".
3. Select the "Windows Setup" tab.
4. Click on the "Communications" entry, then press the "Details" button.
5. Make sure that the box next to NetMeeting is checked.
6. Press OK until the dialogs go away.  If NetMeeting was not previously
   checked, you will have to go through an installation procedure, which
   may ask for your Windows CD.  Follow instructions.  I would recommend
   disabling anything that wants to list you on any kind of directory
   service, since you already know the address of the only machine you
   want to connect to.
7. NetMeeting is probably installed in
StartMenu/Programs/Accessories/Internet Tools, or possibly under
.../Accessories/Communications.
8. On the server, run NetMeeting (this may be where you are prompted for
   directory services, rather than at install time).
9. On the menu, choose Tools/Remote Desktop Sharing.  The resulting wizard
   will allow you to set up remote desktop sharing through NetMeeting
   when NetMeeting is not running in its primary role of a video conferencing
   manager.

For what it is worth, NetMeeting's remote sharing is roughly on par with,
or slightly below, VNC's ability to do so.  (Which is extremely pathetic...
 If RAdmin and Remote-Anything can figure out how to remote so quickly, why
can't Microsoft Engineers, inside the building with all the coders, figure
out how to do it?)  However, NetMeeting is also free and supplied with all
Windows 32bit operating systems (OK, at least 95/98/ME/NT4/2000.  It
probably wasn't around in NT3.51 or earlier...)

Enjoy.
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: GDI DLL Wrapper

2001-03-14 Thread Mac Reiter

At 10:46 AM 3/14/01 +0100, you wrote:
>To everyone who has the DDIWatch code you'll get more mileage by adding the
>following in ddiwatch.cpp

I wish to apologize to Mr. Adeney if the tone of my message offended.  (the
term "bogus" is particularly regrettable...)  I did not have the time to
properly evaluate the code.  I simply ran the existing application, which
logged GDI calls but no parameters.  I then went into the code and
uncommented all of the code that reported parameters, and attempted to
recreate the mapping from message parameters to stack pointers.  It is
highly likely that I did so incorrectly.

Yesterday was fairly hectic, and I had pinned my hopes on DDIWatch being a
fortuitous slam-dunk in the GDI hooking wars.  When it did not work that
quickly, I was overly harsh in my response.  I wish to thank Mr. Adeney for
sending the results of his considerable work to me, and apologize again for
my highly inappropriate response.

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: GDI DLL Wrapper

2001-03-14 Thread Mac Reiter

At 03:56 PM 3/14/01 -, you wrote:
>The same way as VNC, I assume, or possibly just simple polling.  Last time I
>looked, they were only faster than VNC under NT, so naturally that's all
>you'll hear about... ;)

RAdmin 2.0 and Remote-Anything 3.5 are both substantially faster than VNC
under Windows 98SE.  I can't speak for any other OS.  Hence my curiosity
about their methods.

I guess I could be crude and install SoftICE to see what they're doing, but
I was hoping someone would have stumbled across something.  RAdmin might be
using the SetDDIHook method, since it actually has an installation
procedure.  Remote-Anything is a single 72kB application (for the remote
end), however.  Of course, that single application might just be an
amazingly small installation program that creates a DLL and a watcher app.
Again, SoftICE might tell me.

My current project requires remote control of a 98 machine -- the remote
controlled machine will be running various hardware devices, whose drivers
will be 95/98 based, not NT/2000 based.  If DDML existed under ME, I might
be able to use ME instead of 98.

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: FTP SOLUTION!

2001-03-14 Thread Mac Reiter

At 11:04 AM 3/14/01 -0500, you wrote:
>mac, as one who keeps arguing for a solution to the file
>xfer problem, i don't believe netmeeting offers a decent
>solution.  i believe it is using IRC to do the file xfer and
>if so it is infinitely easier to just set aol IM or yahoo
>messenger or even icq.
>
>if it doesn't use IRC, then even with the inherent flaws, i
>would think ftp would still be a *better* (more direct)
>solution

OK.  You don't want a program that already exists and does everything you
asked for.  Since it should be fairly obvious that the people who currently
do VNC development have no intention of adding this support, the best
course of action would be to develop the support yourself and add it to the
contributions page.

Adding an FTP server is a non-trivial undertaking.  The protocols are not
simple.  And, I don't even think you really want FTP.  FTP *requires* two
connections to work, and I'm pretty sure one of the reasons you want all
this is to get video, control, and file transfer down a single connection.

You might also look at http://www.tridia.vnc  That site is more actively
engaged in support for the professional remote-control industry.  As an
example, they now have VNC remote control of the Linux TEXT mode console.
They have an active development team whose job/intent is to modify and
extend TridiaVNC.  By contrast, AT&T developers wrote VNC as a useful
internal tool.  They were kind enough to GPL it and provide support when
possible.  Asking them to develop an extensive functionality that they have
no use for is unreasonable.  TridiaVNC also has a mailing list
([EMAIL PROTECTED]), which would be a much more useful place to
have this ongoing file xfer discussion.  You *could* even purchase
something from TridiaVNC, thus encouraging them to given credence to your
needs.

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: File Transfer

2001-03-14 Thread Mac Reiter

At 12:02 PM 3/14/01 -0500, you wrote:
>A simple, one file at a time, binary file transfer would be a big leap
>forward. There are times when I want a whole directory but mostly I just
>want to edit locally that single word file or C file and then send it back.
>The main reason I want to do that is because the cursor lag behind mouse
>position is so distracting. I get hypnotized waiting for the remote cursor
>to catch up with the local one and forget what I am doing.

Alternatively, if we helped the VNC team improve VNC's ability to do what
it was designed to do, we could remove that visual lag, and you could edit
the file in place on the remote machine.  Or we could distract them with
file transfers that it was not intended to do, and continue to have slower
than necessary screen updates.  This distraction is my primary reason for
not wanting to put file transfer in VNC.  Let VNC get better at what it was
designed to do, and let file transfer programs get better at what they were
designed to do.

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: GDI DLL Wrapper

2001-03-14 Thread Mac Reiter

>void ReceiveArea(WPARAM wParam, LPARAM lParam, int& x, int& y, int& w, int&
>h)
>{
>   x = (wParam>>4) & 0x0FFF;
>   y = ((wParam & 0x000F)<<8) | ((lParam>>24) & 0x00FF);
>   w = ((lParam>>12) & 0x0FFF);
>   h = lParam & 0x0FFF;
>}
>
>and in 'DdiDlgProc(HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam)'
>   case DDI_BITBLT:
>   {
>   int x, y, w, h;
>   ReceiveArea(wParam, lParam, x, y, w, h);
>   wsprintf(szDdiString, "BitBlt:\tstart {%04d,
>%04d}, size {%04d, %04d}\r\n", x, y, w, h);
>   break;
>   }

OK, I had definitely misinterpreted what the wParam and lParam parameters
in the message meant.  I had assumed that the original stack parameters
going through the DDI interface had been either protected or copied into
protected memory, and that wParam and/or lParam was a pointer to this
protected memory.

Since the hook dll is designed to do the parameter parsing and repackage
the parameters into the message parameters, I would need to be able to
recompile the dll code after adding parameter management to the other
cases.  Does anyone know of a freely available (or inexpensively available)
16bit Windows compiler?  This would also be necessary for this technique to
be released under the GPL, since people have to be able to recompile all
the code.  If such a compiler is not available, then the SetDDIHook
technique cannot be used (since it requires a 16bit DLL to hold the hook),
which would really depress me.

I really wish when Microsoft made a 32 bit operating system it would use 32
bit components...

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: FTP SOLUTION!

2001-03-14 Thread Mac Reiter

>> You might also look at http://www.tridia.vnc  That site is more actively
>
>(That's www.tridiavnc.com.)

Oops.  Thanks.


>> engaged in support for the professional remote-control industry.  As an
>> example, they now have VNC remote control of the Linux TEXT mode console.
>
>Um.  That's interesting.  Do you have a link?

It's the Beta 2.0 version.  The download link is on the righthand side,
down roughly one screen, on the homepage.  Haven't played with it myself.
I think it is meant to grab /dev/console, and allow control of things that
normally can only be controlled by physical access to the machine, but
that's just from reading their press release...

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: file xfer

2001-03-14 Thread Mac Reiter

To the users who only want a program (or pair of programs) rather than a
protocol extension:

Would a Visual Basic application be acceptable?  If no external controls
are used, the only requirement for running the app would be MSVBVM60.dll,
which is installed by any VB6 app.  The app itself would be very small,
only a few kB.  I only ask about VB because it would make it MUCH simpler
to throw together something with a file selection dialog and clipboard
support.

To VNC developers:
What is the clipboard transfer in VNC capable of transferring?  The Windows
clipboard can support text or data (binary) items, but I'm not sure what X
Windows does.

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC & MSDOS Prompt/Setup

2001-03-15 Thread Mac Reiter

>Also, I installed the viewer from conduits.com onto the iPAQ and I get a
>quick message flash when I attempt to connect to the server, appears to
>indicate server failure ... anyone have some experience with this?

Not sure, but I have had to do a lot with the CE viewers, and color depth
seems to be a big issue.  No CE unit has more than 16 bit color, so if your
remote desktop is 24 or 32 bit, you may have a problem.  You can either
decrease the color depth of the server, or make sure you check "Restrict to
8 bit color" on the Options screen (button on the dialog where you give the
remote address)  Also keep in mind that the viewer caches the entire screen
so that you can scroll around on it.  1024x768x24bit is 2.25 megabytes of
storage, or 3 megabytes if it has to be stored in DWORD aligned 32bit.
Usually not a problem on the newer machines like your iPaq, but it used to
be a big problem on the older CE units.
 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Windows VNC package updated to 3.3.3r8

2001-03-16 Thread Mac Reiter

At 04:30 PM 3/15/01 -0800, you wrote:
>AuthHosts filter now behaves correctly. I wonder will this now work like
>entering this 192.168.1.1, but matching 192.168.1.1, 192.168.1.10, and 100
>or just .1? I wish I could enter masking too like 192.168.1.64/26 (26 =
>255.255.255.192 right?). This may not be a big deal, but I like to put
>security everywhere, maybe too much sometimes, got to let people work too I
>guess.

It seems like there was support for strings like 192.168.1. or 10., etc.
Dunno if it has any support for breaking a subnet at other than an 8bit
boundary.

 _____     /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC to 3.3.3r8 WEZ

2001-03-19 Thread Mac Reiter

At 07:50 AM 3/19/01 -0500, you wrote:
>That may be the problem.  I have one server that is an old laptop.  After a 
>restart I need to send "function 3" to enable the monitor and disable the 
>lcd.  I have not been able to do it successfully.  Are you aware of a work 
>around?

Ah.  Wish you had mentioned that earlier.  Please pardon me for using you
as an example - I mean no harm, but it might help others who have
questions.  If an original question is not answered, simply repeating it is
unlikely to get any more response.  If you explain your exact situation,
however, the problem can usually be solved, or at least the question can be
answered.

I must assume that you press a special key on the notebook keyboard
labelled "Fn" or "Function" or something like that, and then you press
either "3" or "F3".  This is considerably different from pressing "function
keys", which are the keys labelled "F1" through "F12" at the top of the
keyboard.  "Function keys" work just like any other key, which is probably
why the question wasn't being answered -- nobody could reproduce it.  If
your notebook actually hooks plain "F3" to switch displays, it is going to
cause a lot of problems with other programs that wish to use "F3" as an
application key.

So, going on the "Function"+"F3" assumption -- The "Function" key is a
special key that keeps any other key pressed from going through the normal
keyboard channels.  In the "Function"+"F3" case, the signal is instead
routed either to the BIOS or to the video chip, and tells it to toggle
output _transparently_to_any_underlying_operating_system_.

VNC cannot possibly transmit these kinds of sequences, because they occur
underneath the operating system.

I can think of two possible remedies, but can't guarantee either:
1. Your notebook may have an application that allows you to change display
output.  You'd just have to look everywhere in your Start Menu, because
different manufacturers/models put these in different places.
2. Check your bios settings.  When you boot the notebook, it will
(hopefully) give a message like "Press DEL to enter Bios" or "Press F2 to
change settings" or something similar.  Other keys I have seen used are F1,
ESC, CTRL-ALT-ESC, and just about anything imaginable.  DEL, F2, and F1 are
the most common, though.  If you can get to your bios, you may be able to
tell it to boot up in external monitor mode (or whichever mode you want).
You will have to do this locally.  If you actually need to change the
output mode _while_ remote controlling the notebook, your only hope is
option 1.

Hope that helps,
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Some CPU ideas

2001-03-19 Thread Mac Reiter

>> Notice that, opening notepad and maximizing it to full screen then typing
>> will cause a full window update for each char.

Just curious -- I realize that the hooks will tell WinVNC that it needs to
process the entire client area, but what kind of processing does WinVNC do
after that to determine how much actually changed?  Does it perform any
kind of differencing operation?

Something I had considered (and WinVNC may already be doing) was that if
the server maintained a memory storage of what had been transmitted to the
client, then it could compare new regions to that and only send the
differences.  As a further optimization, you could have a "Delta Hextile",
or (better) "Enable Delta Encoding" checkbox like the "Enable CopyRect
Encoding".  Then, you could BitBlt the new region against the stored region
using the XOR RasterOp, which might even be performed by hardware in newer
video cards.  The resulting region would be black in all areas that had not
changed, and Hextile encoding should be extremely efficient in transmitting
that, whereas it might not be efficient re-transmitting all of the
underlying image.  Of course, the viewer would have to recognize that it
was receiving an XOR Delta packet, and would need to use the XOR RasterOp
as well when adding it to the screen.

Does WinVNC already do some or all of this?
 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Windows CE client very slow

2001-03-20 Thread Mac Reiter

>Does anyone have experience with VNC on a Windows CE device and can give me
>some hints for a faster reaction ?

There are several things working against you.  GDI on CE is so slow that the process of
drawing interferes with the network bandwidth.  If you are going through a serial 
link, this
interference is actually great enough to cause transmission errors and retransmissions,
which slaughters your ability to transmit.

Also, on a really good day, if you didn't have to do anything else, you can get around
2-3 full screen updates per second on a palm sized CE device.  Compared to the 40+ 
updates
per second that plain GDI is capable of on generic desktop machines, this is pathetic.
Also, that is 3/sec for a 240x320 screen, not for the potentially 1024x768 screen your 
host is
probably using.

One of the early things I did was to drop the thread priority of the drawing code to 
very low.
This kept it from interfering with the serial driver and network stack, which 
decreased the
amount of transmission errors.  I also, when I had access to the PPP protocol being 
used,
dropped the MTU to 150bytes so that the amount of information to retransmit was 
minimized,
which optimized throughput, even though the packet overhead was immense.

I am working on modifications to the TridiaVNC sources to take advantage of Tight 
Encoding
and ZLib compression.  My modifications use GAPI for "direct" video hardware access.
I say "direct" because it quite obviously is not actually direct on the unit I have.  
A great many
of my problems stem from the fact that the manufacturer thinks all programmers are 
idiots and
double buffers the "direct" video access, thus halving the video performance and 
causing screen
overwrite problems that would not exist if it simply did what it was supposed to do.

My modifications are not applicable to general purpose use, however, because I am 
using a
desktop from Linux that is actually sized to 240x320.  My code has no support for 
scrolling or
scaling to handle larger desktops.  In this situation, I have been able to achieve 
noticeable
speed improvements, but it is still a dog compared to desktop performance.  Until CE 
makers
start making useful hardware, video performance is going to be incredibly bad.

With my modifications, I can set the MTU back up to 1500bytes, and can still achieve 
full
theoretical bandwidth for the serial link (actually better than full, because PPP 
compresses).

 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



GDI Wrapper DLL

2001-03-21 Thread Mac Reiter

Sometimes I'm kinda slow on the uptake, but I've recently re-installed WINE
on my Linux partition, and a thought occurred to me -- since the big
problem with writing a GDI32 wrapper DLL is learning about all of the
undocumented exported functions and their parameters, why not take the work
done by the WINE project and strip all the actual logic out?  That would
leave you with a shell of all the functions, and you could put in whatever
you needed along with the passthrough to GDI32WIN.DLL or whatever you wish
to rename the original GDI32.DLL to.

Of course, it is Linux GCC code, so I have no idea how nasty it will be
getting it into VC...

 _     /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC freezes and then disappears

2001-03-21 Thread Mac Reiter

>Getting a bit off the subject here (PLEASE, could someone say something 
>about my posting about "VNC freezes and then disappears"; it's unusable 

I have absolutely no idea if it will help, but I'll ask just in case...  

1. Is the Server running in App mode or as a Service?
2. Have you clicked on the entry (on the Server side) in the start menu for
"Install Default Registry Entries"?

If it is installed as a Service and if you have installed the default
registry entries, then I'm out of ideas.  Win2000 isn't something I have
any particular experience with.

Does this occur both with the Java/WebBrowser based viewer and with the
native viewer?  Just trying to localize if it is an issue in the server or
in the viewer.

 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Bandwidth requirements

2001-03-23 Thread Mac Reiter

>However, I have a few questions: 
>- what are the bandwidth requirements? Is it something like 10 kbps or is it
>likely to use 100 or more? This is important to me, because I need to know
>how the application can work over the Internet.

Requirements is sort of a flexible term...  It will run over 28800 modems,
but isn't very fast.  If you are looking at that kind of bandwidth, I would
recommend http://www.tridiavnc.com and investigating the "Tight Encoding".
It will increase server load, but substantially decrease the bandwidth
needs.  If you have 10Mbps LAN, the normal VNC works fine, though a little
laggy.  At 100Mbps it is very smooth.  The other concern for latency, which
is frequently more important than bandwidth, is server CPU and I/O power.
The screen must be pulled from the video card and processed, and
faster/newer machines can do this noticeably faster than older machines,
even over the same network connection.

>- how many simultaneous connexions can the server support? Will it crash
>with something like 10, 100 or more? By "crash" I mean slow the computer so
>drastically that no other application can be ran as well as simply crashing
>the system...

The screen polling should only have to be done once, and then the data sent
to all viewers.  Since VNC is stream based, it will have a separate
connection for each viewer.  It might be possible to make a UDP broadcast
tunnel, where one program connected to the server and the other end of the
tunnel connected to each viewer, and then the streams going into these
tunnels were broadcast to an entire subnet at once.  For mass viewing, this
would dramatically decrease network bandwidth (by a factor of N-1, with N
viewers).  I'm not sure if anyone has written such a broadcast tunnel or
not.  It would be less useful (and very confusing) if 100 different people
were all trying to control the mouse pointer...

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC for Pocket PC

2001-03-28 Thread Mac Reiter

The following patch can be applied to programmatically raise the keyboard
during text input stages of connection:

#if UNDER_CE
// Try to bring up input panel
BOOL fRes = FALSE;
SIPINFO si;
memset(&si, 0, sizeof(si));
si.cbSize = sizeof(si);
if (SHSipInfo(SPI_GETSIPINFO, 0, &si, 0))
{
si.fdwFlags |= SIPF_ON;
fRes = SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
}
#endif

I added this to my version because PocketPC's always default to their
personal info manager, which does not have the little button to bring up
the keyboard.  This forced me to go through some contortions to get the
keyboard up, so I just made VNC bring it up for me.

Mac

At 04:00 PM 3/28/01 +0100, you wrote:
>Their build doesn't seem to allow access to the VNC window *and* the CE
>keyboard at the same time - you can't therefore type in the server address.
>
>Oh dear... :(
>
>James "Wez" Weatherall
>--
>  "The path to enlightenment is /usr/bin/enlightenment"
>Laboratory for Communications Engineering, Cambridge - Tel : 766513
>AT&T Labs Cambridge, UK  - Tel : 343000
>
>- Original Message -
>From: "Steven Caesare" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Monday, March 26, 2001 9:47 PM
>Subject: Re: VNC for Pocket PC
>
>
>> http://www.conduits.com/ce/apps/vnc.asp

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC for Pocket PC

2001-03-28 Thread Mac Reiter

At 12:05 PM 3/28/01 -0800, you wrote:
>Is there any port for PalmOS? (I'm sure this has been
>asked already)

http://www.btinternet.com/~harakan/PalmVNC/
 _     /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Clarification - pcanywhere functionality

2001-04-02 Thread Mac Reiter

At 09:48 AM 4/2/01 -0700, you wrote:
>hello everyone,
>
>thanks to all who wrote.  yes I am trying to snoop and display what is
happening on another unix box.  we are not going to spy on other users,
just trying to teach people who are don't know the particular unix
application.
>
>here is the clarification:  run an application like HP Openview on solaris
box and remotely just connect to that unix box and all the HP Openview
GUIes gets displayed on the remote machine and what ever someone is doing
on Sun box gets displayed on the VNC client.  what we don't want to do is
to use PC with VNC and start the OpenView there.  we are going to take PC
user as just someone who watches the action.  Someone else on unix box will
move cursors and work with Openview and all the activities gets displayed
on PC box.
>
>thank you very much.
>mozhdeh

Run the x0rfbserver system on your Solaris box.  It will act like a normal
VNC server, except that it views and controls display :0 (the normal one
that the HP user sees).  This server must be installed on the Solaris box.
Once that is done, any VNC viewer can watch.  I believe that the VNC
servers (and thus the x0rfbserver) have options for disabling remote
keyboard and mouse, so that the VNC viewer people can only watch, not control.

I have not actually used the x0rfbserver system myself, so if you have a
problem, someone else on the list will have to help...

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Clarification - pcanywhere functionality

2001-04-02 Thread Mac Reiter

At 10:52 AM 4/2/01 -0700, you wrote:
>Here is a suggestion.  Let your users run X, as they normally would, and run
>a VNC client application on their desktop to connect to a VNC server (which
>may also be on their same machine).  Shadow that VNC server by running a VNC
>client on your desktop.  Run the Unix application in the VNC desktop, which
>is within both of your desktops.

Ouch...  It works, but it's a little contorted and potentially confusing
for the guy at the Solaris box...
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Setting up win32 vncserver completely from command line?

2001-04-02 Thread Mac Reiter

>"You obviously can't run a VNC server on a port that's already being used
>for other things. "
>This is less than useful on a live webserver!

The fundamental nature of TCP/IP says that you CANNOT have two different
services listening on the same port.  Which service would respond to
connection requests?

You'll either have to configure VNC to use port 25 (assuming IIS doesn't
have a Telnet service there) or you'll have to open another port on the
firewall.

If you attempt to put a second server on an existing, in-use port, the
second server will receive an error from the TCP/IP system (WinSock, in the
case of Windows), and will be unable to bind to that port.  Even if it did
work, you would get interesting behavior.  Some people who tried to web
browse to that machine would receive the VNC protocol welcome ("RFB 3.3", I
think...), and other people who tried to use VNC would get a "Unable to
connect to server" when IIS jumped in and handed out "HTTP 1.0"...
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Setting up win32 vncserver completely from command line?

2001-04-03 Thread Mac Reiter

>I can update the vnc settings with a registry set over http, but I cannot
>see how to set the listen port for it.
>On my system here, the GUI won't allow me to enter -5875!

As another thought -- as of the newer releases (r7 and higher for Windows),
the publicly released server also contains the ability to initiate a
connection to a viewer.  If the firewall in question allows arbitrary
outgoing connections (which is not uncommon), then you could simply have
the service running on the server, run vncviewer in "listen mode" on your
machine (the install should have placed such a shortcut in your start
menu), and then issue a command to the server so that its WinVNC opens an
outbound connection to your vncviewer.  This would make the port
irrelevant, and no services would have to be shut down, even temporarily.

Which of course won't work if you are also behind a firewall or masquerade,
unless you can configure your local firewall.

Since this "backwards" connection is something that has been in the
internal ORL VNC server for a long time, but has only recently been
released to the outside world, the best source of further information is
probably right here in the mailing list.  If we ask nicely, Wez might tell
us how to do it ;-)

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Setting up win32 vncserver completely from command line?

2001-04-03 Thread Mac Reiter

>A lot of development distracting from the core requirement which is to
>administrate a website! (no ftp either!), just port 25, 80, 81, NTACL.

Foolish question, I'm sure, and more political than technical, but how
exactly did your supervisors *intend* for you to do this administration?
It seems like they either have a very skewed understanding of technical
reality, or they don't *really* want a remote administrator and are trying
to make it so unpleasant that you will quit or move.

OK, that was just nosy of me...  Feel free to ignore that...
Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: running linux apps (other than xterm) on windows client

2001-04-03 Thread Mac Reiter

>% netscape
>Error: Can't open display: jgarrett:0.0
>%

I don't think that xhost is going to help.  xhost affects authorization to
use an X display, but the error message does not indicate an authentication
error.  It appears to indicate that Display :0 simply does not exist.

Some questions:

1. Is jgarrett the name of the Linux machine on which Xvnc (vncserver) is
running?

2. When you ran vncserver, it should have told you something like "VNC
server running on desktop :1"  (at least, that's what I always get)  The
":1" (or whatever number it reports) is vitally important.  That is your
Display number.  If vncserver did report that it was running on :1, then
the problem you are having is that netscape, for whatever reason, is trying
to run on Display :0 instead of on Display :1.

If #2 sounds like your problem, you *can* temporarily fix this by executing
the following command some time after you start an xterm and before you try
to run any X applications (I am assuming sh/bash syntax -- you need to set
an environment variable and make it visible to your child processes, so if
your shell is not sh/bash, you may need a different command):

"export DISPLAY=:1"

Once that is done, any program executed by that xterm will understand that
it should be displaying on your vncserver.

Since xterms work, and nothing else works, I can only assume that one of
your shell setup scripts (.profile, .bashrc, .cshrc, or something like
that) that executes each time an xterm starts (well, technically, each time
a shell starts) contains a line that says "export DISPLAY=:0.0".  If you
find such a line, I strongly suggest just commenting it out.  Since the
xterms know where to show themselves, your DISPLAY variable was set
properly before these scripts ran.

Oh, for what it's worth -- I keep flipping between :0 and :0.0 -- For
almost all users it doesn't matter.  The first number indicates the
Display.  :0 is usually the local hardware display circuitry.  :1 and
higher are usually secondary displays started by users for their own needs.
 The "fractional" part of the display is the Screen number.  If you had a
video card with two monitor outputs, it could be configured as :0.0 and :0.1

Hope that helps.
Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Memory prb with NT4

2001-04-03 Thread Mac Reiter

At 03:18 PM 4/3/01 +0200, you wrote:
>> I did it as well, and I have no problems at all...
>
>I use NT4SP6a on quite a few systems, including our backup server (running
>Legato NetWorker).  It works fine.  I installed SP6a because of a vendor
>recommendation, but I can't remember which one.
>
>I believe that SP6 is bad news ...

The last comment would make a lot of sense.  The very existence of an 'a'
version of SP6 means that they realized that they had hosed something
immensely badly (in plain SP6) and had to fix it immediately (in SP6a).
Which would suggest that SP6a is probably pretty clean (since there is no
SP6b or SP6aa or SP6a1 or anything)
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Memory prb with NT4

2001-04-03 Thread Mac Reiter

At 12:42 PM 4/3/01 +0100, you wrote:
>I would never recommend to anyone to install service pack 6a, service pack 5
>is the one I would recommend
>
>cheers
>rog 

I am aware of the glaring fubars present in SP4, and that SP5 fixed at
least some of those.  What was so bad about SP6a?  It worked fine on my
machine for quite awhile.

Of course, VB6 (Visual Basic 6) hosed the registry while trying to process
a VB5 project, and the machine never fully recovered.  Dunno if that was an
SP6 problem or a VB6 problem.

Just like to know why I'm avoiding things, to a little more detail than my
normal paranoid fear that if Microsoft touches anything it'll break
unrecoverably.

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Win32 - 3.3.3r9 - password exploit?

2001-04-03 Thread Mac Reiter

At 04:46 PM 4/3/01 -0500, you wrote:
>I am not sure if this has been noticed, or if VNC does not like special
>characters as a password, but within the Win version I had set the password
>to "QPH@#as9%" without the "".  When I use the viewer to access the server I
>can use ANY character as the last character and it will login successfully.
>I haven't played around with it much to see if I could change more than 1
>character at a time. For all I know this may be documented somewhere.  
>I will play with it a little and report what happens. Are special characters
>not to be used?

VNC only uses the first 8 characters of the password, to maintain
compatibility with some old pathetic implementation of a password routine
on one of the hundreds of platforms that it supports.  Since your password
is 9 characters long, you could put anything you want for the last
character.  And it doesn't matter what the preceding characters were.  I
have noticed that when my password is longer than 8 characters, I have to
enter at least 9 characters for it to be accepted.  I have not tested to
see if the 9th character can be random.

It's amazing to me how these questions run in cycles and batches.  I think
the FAQ needs to be updated, so that around 90% of the posts could be
answered with "Read the FAQ".  This question, though frequently asked
(variations have appeared at least three times in the last two weeks), is
not currently on the FAQ, so I answered...

Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC on machine with 2 adapters

2001-04-03 Thread Mac Reiter

At 05:49 PM 4/3/01 -0500, you wrote:
>I can't believe that it's been two days, I've seen five different problems 
>resolved, but not a single post regarding this one?  Does no one out there 
>have VNC running on a platform with multiple adapters?

Probably due to the sheer number of issues that pop up with Win98SE and
Internet Connection Sharing (ICS), and people being tired.  When the second
adapter was added, ICS may have been added.  ICS is a masquerading firewall
type system, and can cause all kinds of problems.  If you don't need ICS, I
suggest making sure it is not installed.  If you do need it, I suggest
looking at the mailing list archive as about 10 people went through the
cycle of solving ICS problems last month.

Second thought.  WinVNC must bind to a particular adapter when it starts.
If it binds to your local 192.168.x.x adapter, it will be invisible to the
outside world.  Since 192.168.x.x is unroutable (and since the server is
not on your externally visible address), external connections can't get to
it.  I think I had to deal with this.  Can't remember if it was a registry
setting or if I had to set my external adapter's TCP/IP protocol to "be the
default protocol" under the Windows Network Settings.  If WinVNC binds to
the external adapter, then external connections will work, and internal
connections will work as long as you use the external address.  I don't
know if WinVNC can be built to bind ports on all available adapters
(requires separate connection listening for each adapter)

Dunno if that helps...
Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Setting up win32 vncserver completely from command line?

2001-04-04 Thread Mac Reiter

>I already tried "regedit newkeysforVNC.reg" and it didn't appear to work,
>regedit gui and pops up a dialog box. I had to kill it with my CGItools,
>and wasn't sure if the values went in.

Glad you got everything else working.  Here's a Stupid Windows Trick that
isn't particularly obvious:
The normal way to "install" a .reg file into the registry is to
Double-Click it in Explorer.  But how do you Double-Click from a command
line?  With the "start" command, thusly:

start newkeysforVNC.reg

"start" is an interesting command.  It does whatever the default Explorer
action is for that type of file (based on extension).  So you can "start
preview.avi" and it will fire up the Media Player, or you can "start
localcache.htm" and it will fire up Internet Explorer (or Netscape, if that
is your default).  You can use it anywhere the normal instructions say to
Double-Click on something.  I'm not sure if there are any command line
arguments to start to allow using any of the alternative actions...

Sorry I didn't think of suggesting this while you were deep in the painful
throes of fighting with VNC via command line.  But it might be useful in
the future.

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Win32 - 3.3.3r9 - password exploit?

2001-04-04 Thread Mac Reiter

>I'd like to know what the algorithm is so I can write a tool to change the
>registry password from a command line, or cgi interface.
>crypt() (at least in perl) produces 13 chars of encryption, VNC's is fixed
>at 8 chars.

Wez responded today and corrected my misguided statement.  It doesn't use
crypt().  The limitation is to maintain compatibility with getpass(), which
only returns 8 characters on some systems.  The actual
encryption/authentication is VNC specific.  Dunno anything past that.
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Multiple KDE sessions

2001-04-04 Thread Mac Reiter

>I'm running vncserver on Linux Mandrake 7.2 and am trying to open multiple
>sessions of KDE from a Win 2k computer. I can get the first session to run
>but any other sessions just show a purple screen. Any help will be
>appreciated.

I have heard (and seen some evidence) that KDE doesn't understand running
on multiple displays -- apparently they store global info instead of
Display-centric information.  KDE2 might be better about this.

>In addition, if anyone has any fool proof instructions on setting up the
>inetd in this same configuration I'd appreciate a copy of such instructions.

I believe that this was covered in the last month or so, if you can search
the mailing list archives.  Something about "powertools" and "vnc rpms"
that would start up VNC at boot as a service.  I have gotten xinetd
working, but on RH7, so I couldn't be exact enough...

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Can Not Delete VNC files

2001-04-04 Thread Mac Reiter

>is a file named VNCHooks.dll in the ORL\vnc folder that seems can not be
>deleted sometime. Any one have any idea why sometime that file is being
>locked. Thanks!

Is WinVNC running when you try to delete it?  After starting WinVNC, you
may need to reboot Windows before trying to uninstall it.  VNC has to hook
into various pieces of the operating system, and sometimes those hooks
aren't unhookable...  (or at least, not easily unhookable)
 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Can Not Delete VNC files

2001-04-05 Thread Mac Reiter

At 04:10 PM 4/4/01 -0700, you wrote:
>Yes, Winvnc is running but my uninstall procedure stops Winvnc service first
>before deleting the files and folders. I don't think reboot is necessary. I
>noticed if I wait about couple minutes then run the uninstall procedure
>again. The file and the folder will get deleted. I need to find out where
>the "hook" is so I can speed up the uninstall process.

I'm also somewhat curious...  Why install and uninstall it all the time?
It can be run as a normal application.  Then when you're done, you just
terminate it.
 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Limiting Connections to the vnc server

2001-04-05 Thread Mac Reiter

>why is that? i cant write a simple sub to put in the beginning of the
>vcnserver script .. something like

Do you wish to stop your technically savvy users, or just the average
person who will just run vncserver and accept whatever it gives?

Savvy users can go around your limit by running Xvnc directly, and stopping
that would require patching Xvnc, which is unpleasant.

Average users can be limited, as you say, by modifying the vncserver
script.  Open the vncserver script and search for "sub GetDisplayNumber"
(without the quotes).  You should see a line that says:

foreach $n (1..99) {

If you change that to:

foreach $n (1..25) {

then your average users will be limited to no more than 25 servers total
(this is a system limit, not a user limit).  Advanced users can still
directly specify a higher display number to vncserver (which you might be
able to filter in "sub CheckDisplayNumber") or directly to Xvnc (which
requires a source patch and rebuild)

Hope that helps,
Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



PocketVNC from TridiaVNC

2001-04-06 Thread Mac Reiter

OK.  I've completed my port from the TridiaVNC Win32 vncviewer code tree to a PocketPC 
(CE 3.0) version of TridiaVNC 1.5beta.

This is most directly of interest to the Tridia group, but I didn't know if anyone at 
the original ORL labs would be interested in how I worked around the lack of C++ 
Exception handling in the CE compilers (setjmp/longjmp plus my own multithread-safe 
exception frame handling code -- still doesn't properly handle class hierarchies, and 
it will NOT call destructors for C++ objects that exited scope because of the 
exception, but there isn't any way to do that without access to the internals of the 
compiler)

My intent is to provide this in such a way as to ease its integration into the 
TridiaVNC CVS tree.  Unfortunately, the CE tools also cannot process VC6 project or 
workspace files, so I had to make my own (vcp and vcw files, respectively).  

I have also called my project OMNIvnc because it relates to the project I am working 
on.  Since VNCviewer uses a class called omnithread, I also thought this was a nice 
synergy, so I named all of my exception handling stuff OMNI_EXC_etc.

So, to the Tridia team - I can think of three options :
1. I can generate a diff file.
2. I can zip or tar the collection up and send it to somebody.
3. I can check it back into CVS (which I am leery of, since I have no idea what effect 
it will have on the normal Win32 builds.  I tried to be nice, but I might have missed 
something)

To the ORL team :
Is there any of this that you would be interested in having?

(Crud, just remembered that my exception handling usage comments are out of date...)

Please advise.
Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Ports above 99

2001-04-09 Thread Mac Reiter

At 03:04 PM 4/9/01 -0600, you wrote:
>I know that display no's/ports above 99 must be a complete number (ie:
>5265, not just 65). But I must be missing something because I would like
>to use ports 6000 - 7000, so I assigned 6000 as a display number, and so
>on. However, after doing a netstat, VNC seems to be listening on ports
>in the 11,000 range. Does someone now the algorithm for display no. to
>port mappings above 99?

If you are under Windows, please ignore this message...

You're going to have problems with ports in the 6000-7000 range, because
those are the X server ports.  Technically, a VNC server is two servers in
one -- it is a VNC server at port 59xx and an X server at port 60xx.  X
applications look to the 60xx ports to find their servers.  So a VNC server
at display :101 would have both its X server on port 6101 and its VNC
server ports open on port 6001, which will conflict with any X server at
display :1.


 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Palmtop or Palmpilot

2001-04-11 Thread Mac Reiter

At 09:59 PM 4/10/01 -0500, you wrote:
>This is one palmtop I'm possibly looking at, seems to come with an 802.11b
>card.
>
>http://home.intermec.com/eprise/main/Intermec/Content/Products/Products_Show
>Detail?section=Products&Product=CMPTR6651&Category=CMPTR&Family=CMPTR2#

1. PalmOS / PalmVNC - viewer assumes you do not have memory to store entire
screen, so it requests partial screen updates whenever you scroll.  For
best results, you need to use special patches to support server side
scaling (a feature that I think would be nice to have in the main code
base, but I have odd needs...)

2. Windows CE units - every CE unit I have tested with, from ARM based
Jornada HPC Pros (640x480) to new generation PocketPC MIPS 209MHz
processors, is incredibly slow.  Think seconds/frame instead of
frames/second.  From personal programming experience, a large portion of
this problem is the pathetic graphics and memory I/O systems in CE units.
Attempting to do full Win32 level graphics routines over such slow hardware
is painful.  I am currently doing mods to accelerate the graphics on
PocketPCs (needs GAPI), but the solution is not of general use (I cannot
scroll around on a virtual desktop, so everything on the desktop must fit
on the screen of the PDA -- really only useful for UNIX based servers where
you can create a desktop of the desired resolution)

3. Any kind of real computer with real graphics and memory bus support will
be an order of magnitude or more faster than any device from category 1 or
2 that I have been able to work with.  Toshiba and Sony both make
exceedingly small Intel machines capable of running Windows 98/ME, Linux,
BeOS, or whatever feels good.  If you can afford them, you will get a much
more flexible solution that feels a *lot* better to use.  On the downside,
your battery life won't be as good, either...

My view from the trenches,
Mac

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Palmtop or Palmpilot

2001-04-11 Thread Mac Reiter

At 06:42 AM 4/11/01 -0700, you wrote:
>Haven't been able to get PalmVNC to work yet, any
>documentation anywhere?

Are you using 1.4 or one of the earlier builds?  My only experience is with
the POSE Palm emulator.  When I tried to use it on a real Visor, all we had
was a USB connect, and I couldn't get a TCP/IP connection over that cradle.
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Palmtop or Palmpilot

2001-04-11 Thread Mac Reiter

At 10:15 AM 4/11/01 -0500, you wrote:
>I'm basically trying to decide between a palm 500m or a compaq ipac 3635 for
>a few reasons which don't pertain to vnc.  But if I understand you correctly
>it seems like the palmvnc might be a little faster or dealable if I decide
>to use vnc.

Sorry - I neglected to mention that PalmVNC is incredibly slow as well.
The processor is slow, and having to do network retrieval and decompression
isn't fast either.  If you can accept installing a specialized version of
the VNC server, then it gets better, because you can flip to full screen,
wait for screen to load, select a region of interest, wait for screen to
load.  Otherwise you have to scroll and wait for all the intermediate bits
to load.

The CE version is slow to load a screen (it loads the entire screen at
once), but once loaded it can scroll on that screen very quickly.  

If you are looking at mostly static screens (so that a few downloads
provide you with the info you want), then I would tend to go with the CE
unit.  If your screens change a lot as you run, then just choose whichever
device you like the most for your other reasons, because a lot of network
traffic is going to occur anyway.  (Palm would have the advantage of not
downloading updates that are occurring off-screen, I suppose)

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Palmtop or Palmpilot

2001-04-12 Thread Mac Reiter

At 10:15 AM 4/11/01 -0500, you wrote:
>I'm basically trying to decide between a palm 500m or a compaq ipac 3635 for
>a few reasons which don't pertain to vnc.  But if I understand you correctly
>it seems like the palmvnc might be a little faster or dealable if I decide
>to use vnc.

Just downloaded a new tool called JSLandscape.  Cost me a whopping $10.  It
allows a Casio E115, E125, etc, or a Compaq iPaq to rotate the display 90
degrees either way, and also to scale a display.  It installs a video
driver that reports a higher screen resolution and then antialiases that
down onto the physical screen.  If you do landscape orientation and highest
res, you can display 640x480.  It is fairly fuzzy, but a single button will
zoom you in to 1:1 mode and then you can use the cursor pad to scroll
around.  It also supports 240x480 (clean but interestingly colored subpixel
approach) and 360x480 (normal antialiasing, but less scrunching).  All
resolutions available in all rotations.

Useful for controlling machines that can't go below 640x480...

The homepage is http://www.jimmysoftware.com.

It doesn't support the Jornada PocketPC, presumably because the Jornada
already supports Landscape rotation from the factory (though it doesn't
offer the higher virtual resolutions...)

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Have someone implement shared session for the inetd-option?

2001-04-16 Thread Mac Reiter

Check the VNC contrib page for x0rfbserver.  It allows a VNC server that is
watching an already existing X server.  Since Xvnc servers are all X
servers, that should allow you to create a new VNC server that is reporting
the contents of an existing Xvnc server.  You will have to know the display
number, though.

Haven't tried it, but it *should* work...
Mac

At 03:59 PM 4/16/01 +0200, you wrote:
>Hello...
>
>I have installed a vnc-server (with the inetd option) how users can log in
an 
>work with their x-desktop. It works great but something distrubs me: the 
>fact, that I can't use shared session. When a user have a problem a must run 
>through the half office to help them. I have search on the internet about 
>somithing who can I use shared session with inetd but I found nothing.
>
>Why isn't it possible to add a root like password? One user who can log in
on 
>all vnc-sessions and help the users by their work. On a network it exists 
>only one administrator and the users needn't to share the desktop or have
you 
>ever seen two users who works together remotly on a text-document ;-) I see 
>that the vncserver process works always with the same user-id when inetd is 
>active, so I think it's not difficult to add this when one can program C and 
>that's the problem I can't yet program C because am only 18 years old and I 
>havn't found the time to learn it.
>
>Have anybody the time to add this for free (or for money)?
>
>Severin Olloz - [EMAIL PROTECTED]
>-
>To unsubscribe, send a message with the line: unsubscribe vnc-list
>to [EMAIL PROTECTED]
>See also: http://www.uk.research.att.com/vnc/intouch.html
>-----
>
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC versus Citrix ICA

2001-04-23 Thread Mac Reiter

Having recently had to perform some fairly intensive comparisons of
Terminal Server 2000 (which is either the same as or very close to the
Citrix ICA protocol/system) and VNC, I have discovered the following:

1. TS2000 is *extremely* fast.  We can use it to remotely control video
cameras and see the video feed in almost real-time (slight tearing) on a
10Mbps ethernet.
2. TS2000 is 8bit palettized *ONLY*.  It will not support 16bit or higher.  
3. When VNC is also limited (at the SERVER side) to 8bit, it becomes very
fast as well.
4. Checking the "Restrict to 8 bit depth" on the VIEWER will not result in
as much of a speedup as changing the SERVER depth to 8bit.  It is still
useful over slow links, but it increases the server CPU load and thus slows
down overall frame rate over a good link.
5. TS2000/Citrix have the advantage of working much more like the Xvnc
server.  They generate a virtual screen that does not exist anywhere except
in memory and on the remote terminal.  The server is immediately notified
of all graphics operations, and (as Wez mentioned) it can simply forward
the calls directly to the viewer which can perform the operation there.
For instance, text can be transmitted as a context number and the string in
TS2000.  Cross platform transmission requires transmitting the actual pixel
values, which takes quite a bit more (although Tight Encoding can help
quite a bit over a slow link -- not as useful over a fast link)
6. WinVNC serving an 8bit screen appears to have some palette handling
oddities if the hardware palette is being changed extremely rapidly (video
camera, anim playback, etc).  This may be a misconfiguration on my part.

Overall, if you set your server to 8bit (which is the only valid way to
compare), WinVNC can perform at only around 3-4 times slower than TS2000
for graphically intensive work, and at almost the same speed for
conventional application work.  This is fairly impressive for a free,
no-licensing, cross platform system.  Slower links will benefit from Tight
Encoding and maintaining the newest TridiaVNC server/viewer.  Also, if you
have a fast connection, Hextile encoding appears to be the fastest option.
I can't give any direct suggestions yet about when to switch to Tight
Encoding and jacking up the compression levels.

BTW, if anyone has a suggestion to avoid the palette mangling on VNC, I'd
like to hear it.  Seems like there was a palette problem on an X based CAD
program that changed the palette a lot.  Seems like a palette change
triggers a screen update because thats the only way to guarantee the colors
are all right.  Really fast palette changes cause the palette to change
faster than the screen updates can be sent, which is probably the source of
the problem.

Hope that others can benefit from my results,
Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: VNC versus Citrix ICA

2001-04-23 Thread Mac Reiter

>> It is still
>> useful over slow links, but it increases the server CPU load 
>> and thus slows
>> down overall frame rate over a good link.

>This is only true on Windows VNC servers.  A VNC server on a Unix box has no
>overhead other than the memory and CPU requirements of the programs run via
>a VNC session.

The CPU load I was referring to was the load required to convert a 16bit or
higher screen into an 8bit screen for a viewer that has requested one.
That is a CPU overhead regardless of platform.  It doesn't matter where the
highcolor pixels came from, it still takes time to shift, mask, and repack
the color components.  If you are the only user, or if all users are going
to request 8bit transfers, it is much more efficient to make the server be
8bit native.  If running WinVNC, just set the desktop depth to 8bit.  If
running an Xvnc server, specify "-depth 8 -cc 3".  It is useful to add the
"-cc 3" option to increase application compatibility.  Otherwise you get
8bit truecolor, which a lot of programs don't understand.

>If VNC server could hook Windows DRI calls, PcAnywhere, TS, and Citrix would
>go out of business.

I heartily agree.  I believe Wez is examining some methods for doing this
hooking.  The list was pretty active a month or so ago with different ideas
for how to do so.  Another thing to remember when comparing Citrix and TS
to VNC is that they only run on NT/2000 boxes.  Those systems have clean
hooks into the video stream (which VNC could use, and may already be
using).  Win98 and the other "personal" systems have rather hackish,
undocumented methods of doing similar work.  I continue to hold out hope
for a breakthrough.

Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: VNC versus Citrix ICA

2001-04-23 Thread Mac Reiter

>machine, and I'm obviously missing something vital - how do I get the WinVNC
>server to run in 8 bit depth, and run as a service (NT machine)??

WinVNC runs at the same depth as your windows desktop.  Go to Display
Properties (Start - Settings - Control Panel, then Display applet, then go
to the Settings Tab).  You can change color depth from there.

Your VNC group in the Start menu should have a submenu for "Administrative
Tools", which should have an entry for "Install WinVNC Service"

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Maximum packet size

2001-04-25 Thread Mac Reiter

At 11:06 PM 4/25/01 +0100, you wrote:
>Can anyone please tell me the maximum screen update packet size that the VNC
>Server would send?
>
>I am thinking of adding serial (COM) support and trying to work out the
>maximum sizes of the COM port transmit and receive buffers.
>
>Paul

The initial screen load is one single giant screen update packet.  In Raw
encoding, that would be your desktop width * height * color depth --
1024x768x8bit screen needs 786432 bytes, plus a little overhead for packet
headers.  Hextile, RRE, Tight, etc are harder to estimate and will depend
on the compressibility of the screen.  VNC just uses a TCP stream and
leaves segmentation into actual physical packets up to the TCP/IP stack
(which is exactly what I would do, as well, given a transport that
guarantees correct delivery).
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
this
  in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: best performance with dialup 56kbps connections

2001-04-25 Thread Mac Reiter

>What would be the standard settings to use vnc over the internet?

As a general speed concern, I have also found that having the SERVER
running 8bit and the VIEWER running on a 16bit or higher system seems to be
the fastest solution.  If your server is UNIX based, you may wish to add
the "-cc 3" option after setting the depth so that it uses a palettized
8bit display, which more applications understand.
 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
this
  in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: KDE on Redhat 7.1

2001-05-02 Thread Mac Reiter

At 05:04 PM 5/2/01 +0100, you wrote:
>I thought i'd tried it with 24 bit color depth, but obviously I didn't.
>Works fine in this mode! I use 8bit as I sometimes connect via a modem and
>ssh. I'll get onto the KDE mailing list and quiz them!
>
>I think the console uses 8bit as well hmm. And the apps that were
>crashing included the splash screen, desktop etc and left me with a blue
>screen.. oh well.

Very common issue with Xvnc -8bit is that it uses 8bit truecolor (3 bits
red, 3 bits green, 2 bits blue) instead of the more common palettized mode.
 Several graphically intense X programs (like KDE) don't understand this
mode.  To use a palettized mode instead, include the option "-cc 3" when
you invoke the server.

Also, it seems like I have read several complaints about KDE 2.x having
problems with any color depth below 16bit, but I can't remember where.  It
may have just been related to the -cc 3 thing...

Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
this
  in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: AllowLoopbackdocumentation

2001-05-08 Thread Mac Reiter

>AuthHosts "-:+127.0.0.1" listens on all adaptors and rejects connections
>from any external address other than 127.0.0.1.  LoopbackOnly only listens
>on the loopback adaptor, so the only possible address of a connecting
>connection is 127.0.0.1.  They are not the same thing.

In particular, they are not the same thing because originating IP addresses
can be faked, so someone could connect from an external machine but claim
to be coming from 127.0.0.1.  The stream nature of the connection would
still allow traffic to flow back to the perpetrator.  But if a server only
listens on 127.0.0.1, it can't ever hear such a falsified connection.

At least, my security paranoid friends assure me that this is possible...
If it turns out they've been lying to me for the last several years, please
try to limit the flamage, because I am very sensitive to heat ;-)

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Problem/bug: tight encoding with 24bit slow

2001-05-08 Thread Mac Reiter

>Due to some braindead setup my computer was configured to use 
>24 bit color depth. VNC connections were somewhat slow with or 
>without restriction to 8bit on the client. CPU load was hovering 
>around 50%, even when absolutely nothing was happening (no 
>animations, no mouse movement, etc.).
>Now I use 32 bit color depth and CPU load has dropped to less 
>than 10%. Wow!
>
>I'm using  TightVNC 1.1p8c Win32 under NT SP6a on the server.

It may not be a VNC thing.  Some video cards / drivers are MUCH slower at
24 bit than at 32 bit, due to the three byte alignment (misalignment?)
problem.  32bit pixels are much easier for most architectures to shuttle
around memory.

Of course, VNC doesn't have a true 24 bit mode - it uses 8, 16, and 32 bit,
and embeds 24 bit values in 32 bit pixels.  This doesn't take much effort,
but (as I have discovered) any effort becomes meaningful when you are
having to process multiple megabytes of memory for every screen refresh.
I'm not sure if any meaningful benefit would arise from VNC trying to add a
true 24 bit mode...  I do know that some of my nVidia TNT/GeForce drivers
wouldn't even let me select 24 bit mode because it was so much slower.

Also, restricting the viewer to 8 bit will help if network bandwidth is
your problem.  If you are on a 10Mb/s or faster network, bandwidth is
almost certainly not your problem.  More likely, CPU effort on the server
is the bottleneck, and can be assisted with the following:

1. 8 or 16 bit on the server (8 is much faster, but may not be tolerable,
depending on what you are doing -- graphics or video work really need 16 or
higher)
2. Don't restrict the viewer to 8 bit, because that just forces the server
to remap every pixel.
3. Use Hextile encoding.  Tight, Zlib, and ZlibHex are great when you have
a modem connection, but after extensive testing at high, medium, and low
compression levels, I have found that the fastest method on my company's
moderately loaded 10Mb/s ethernet is still Hextile, due to the lower CPU
overhead.  If you are fortunate enough to have 100Mb/s or (makes me drool
even to consider it) 1Gb/s connections, you definitely want to use Hextile
(actually, at 1Gb/s, it might even be worthwhile to push it through with
Raw encoding)
4. (somewhat counterintuitive) If the server is Windows 98 or later, you
may want to turn on "Show Window Contents While Dragging" in your Control
Panel / Display / Effects.  This will allow dragging a window to turn into
CopyRect encodings under VNC, which is much faster.  Resizing a window
becomes more painful, however, so I leave it as a judgement call.
5. Correctness issue - if the server is UN*X and you use "-depth 8", you
most likely also want to specify "-cc 3" so that it uses palettized 8bit
instead of truecolor 8bit.  Most X Windows applications understand
palettized 8bit and few understand truecolor 8bit.

Also, WinVNC is very dependent on processor speed, due to the lack of a
clean way of interfacing with GDI.  Xvnc is much faster even on slower
machines (Pentium 166 can play MPEGs across Xvnc with no problem, but my
Celeron 433 has trouble sometimes with WinVNC).  As I say, this is not
VNC's fault, but sometimes a hotter processor can be considered a valid
expense for heavily used WinVNC servers.



Just suggestions.
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Colour Maps

2001-05-08 Thread Mac Reiter

>Is there any way to do a more intelligent updating of the screen when the
>colour map is changed?  This particular application is usually only changing
>a few rectangles in the screen, so updating the full screen is a huge amount
>of overhead.  Is there any easy way to walk through the screen pixels,
>marking which ones are affected by the colour map change, and generating
>updates from that?  I'm assuming that changing the windows and Java clients
>to support colour maps would be too difficult.

Hmmm.  A color map and 8bit internal version of the screen will be
required.  You can't just say that "Red turned to White, so change all Red
pixels to White", because most apps that use palette cycling rely on having
multiple indices that all have the same color at some point.  So we need an
internal palettized storage and internal palette/colormap.  Under Windows
this is not hard, and can be done with a DIBSection, which can then be
blitted to the actual screen and GDI will handle the conversion.  Or at
least, that's what Microsoft would have you believe.  Somehow it never
works out that cleanly...  Once you had that internal map, palette cycling
would be trivial.

Dunno enough about Java to know if it has anything equivalent or not.  If
not, you could still :
1. Transmit the new palette to the viewer.
2. Viewer walks through old and new palettes, building third "palette" that
simply stores "changed/not changed".
3. Viewer walks through internal 8bit image looking pixel indices up in
change palette.  If "changed" then look up color in new palette and perform
SetPixel with new color.  Otherwise, ignore.

Very low network load.  Very low CPU load on server.  Roughly comparable,
but lower CPU load on viewer, since the only alternative is a full screen
download. 

Seems doable.  Anybody feel like taking the lead, making the patch, and
submitting it?
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: comparison

2001-05-08 Thread Mac Reiter

>VNC and Netmeeting? Aren't those totally unrelated? I mean, I could
>understand if you wanted to compare PC Anywhere and VNC, but Netmeeting?

Sort of a dual reply - to the original question asker and to the author of
the above quote : NetMeeting has a "Remote Desktop Sharing" capability, as
well as the ability to share individual application windows.  The
performance is slow (slower than VNC) and it REALLY doesn't like 8bit -
lots of palette confusion.  The "share one application window" thing sounds
good until you realize that if any other window gets in front of part of
the shared window, there is no way to retrieve the data in the overlapped
zone, and NetMeeting will simply draw a hatch pattern there.  Since you
don't control the other window, you can't move it to get rid of the hatch.
On the whole, I would go with VNC.  If you already have NetMeeting running
for videoconferencing and don't want to install any other services,
NetMeeting will also provide the occasional remote control service.  I have
used it to debug machines remotely, when necessary.  On the whole, I've
been much happier with VNC, though.


 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: vnc intermittently slow

2001-05-09 Thread Mac Reiter
point out that I do not consider this a "fault" of the
viewer.  I strongly suspect that the problem is in Windows and its
derivatives.  I would, however, be happier if the viewer could be made
non-multithreaded.  This would make it work more cleanly even on badly
behaved operating systems, and would make it substantially easier to debug.
 I realize that this would require some immense rewriting, and may not even
be possible.  That is one of the reasons I would like an overview of the
architecture and, if possible, the problems that forced the viewer into a
multithreaded form.  (Hey, I had to write an entire class-hierarchy aware
exception handling substructure to be able to get the viewer code to
compile under the PocketPC tools, which don't support C++ exceptions.  I
_might_ have ideas for getting around other kinds of problems, too)

Also, if you have encountered similar problems, it might be worthwhile to
report them so that we have a vague idea how much of an issue this is.
(Unfortunately, for those of us experiencing it, it is a HUGE issue that
makes VNC almost unusable, but if there are only two of us, then maybe we
just have to solve it ourselves.  If, on the other hand, several people are
having this problem, it might be worthwhile to have a more extensive project)

Sorry for the rambling.  Hope someone sends me an overview.  Thanks,
Mac



 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: current display

2001-05-09 Thread Mac Reiter

>Now lets reverse it.  If I run the server on the LInux machine, I can connect
>and see a great drawing of the desktop.  But what happens on the viewer is
not
>what happens on the Linux screen.

Each Linux vnc viewer is its own desktop, by design.  To simulate the way
the WinVNC server works, look on the VNC Contrib page for x0rfbserver.
That is a Linux/UNIX Xvnc that pulls its image from an already existing X
server (ie, the one you get at the local monitor, which is display 0)

Mac
 _     /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Win32 - 3.3.3r9 - password exploit?

2001-04-04 Thread Mac Reiter

At 06:52 PM 4/3/01 -0400, you wrote:
>from the secret journal of Mac Reiter ([EMAIL PROTECTED]):
> > VNC only uses the first 8 characters of the password, to maintain
>> compatibility with some old pathetic implementation of a password routine
>> on one of the hundreds of platforms that it supports.  Since your password
>> is 9 characters long, you could put anything you want for the last
>> character.  And it doesn't matter what the preceding characters were.  I
>> have noticed that when my password is longer than 8 characters, I have to
>> enter at least 9 characters for it to be accepted.  I have not tested to
>> see if the 9th character can be random.
>
>so vnc uses crypt()? i thought it used a challenge-response system of the
>author's own design.

First off, I should point out that the statement of maintaining
compatibility with crypt() was due to some foggy recollections of
statements made on the list last month.  If the surrounding memories are
also correct, it isn't exactly that it _uses_ crypt, but it deliberately
works in a comparable way.  Or something like that.

I'm doing some modifications for other reasons to vncviewer, and yesterday
I ran across the code that trims the password down to 8 characters.  I
didn't explore much around there, though.

 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



RE: Memory prb with NT4

2001-04-04 Thread Mac Reiter

>What i have learned from this is not to apply a new service pack the moment
>it is being released but to wait (or to install the service pack using the
>backup option) , especially since service pack 5 was causing no problems
>whatsoeve.

Oh yes.  Definitely.  Microsoft service packs definitely fit in the "if it
ain't broke, don't fix it" category.  I only upgraded to SP6a when I did
because I had been happily running at SP3 (required for CE development) and
something I was going to use needed SP4 (which I knew was broken).  SP6a
had been out long enough and I hadn't seen any flames, so I gave it a shot.
 But you're very right in not upgrading unless you have to...
 _____ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC on machine with 2 adapters

2001-04-04 Thread Mac Reiter

(from me)
>> Second thought.  WinVNC must bind to a particular adapter when it starts.

[clip]

(from Wez)
>WinVNC binds to INADDR_ANY, or to INADDR_LOOPBACK, depending upon the
>LoopbackOnly registry setting.  So either WinVNC will only accept
>connections from the local machine (suitable for SSH tunnelling) or it will
>accept connections from any NIC.


Thanks.  I seem to be having memory cache problems (with _my_ memory, not
my computer's memory...).  I forgot about INADDR_ANY.  I remembered we had
done some work where we needed to be bound to a particular interface, and I
guess it pushed the "normal" server binding method out of the cache...
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Help! BsoD with Win98 and WinVNC

2001-05-15 Thread Mac Reiter

>Windows claims that there is a problem with the following file: v128rm -
which
>we have tracked down to a 3dfx Voodoo 3 video card driver. We have updated
the
>drivers to see if it was a corrupted file but the problem has not gone away.

I used to have an amazingly hard time getting 3dfx drivers to _properly_
upgrade themselves.  Old driver components would be left sitting around,
and would get loaded.  They would then suffer a catastrophic conceptual
difficulty interfacing to the newer driver components, and blow my system
apart.  The two solutions I have used in the past are listed below.  You
will need to have the local guy do them, since it involves a huge amount of
mucking about with video drivers and rebooting and running in a video mode
that VNC does not support.

Solution 1:
Format system drive, re-install win98, install newest possible 3dfx drivers
as the first drivers.

Solution 2:
Go to video driver details, get all file names you can for components.
Reset video to "Standard VGA"
Manually search and destroy all files related to 3dfx.  These include the
names you got earlier and anything else that even looks related.  Move them
into some kind of backup directory in case you accidentally nail an
innocent bystander driver...
Sweep through the Registry ruthlessly deleting any key that even looks like
it might have something to do with 3dfx or voodoo.
Check out win.ini and system.ini just to be on the safe side -- comment out
anything suspicious.
Once the system is as Voodoo-free as you think you can possible get it,
re-install from the newest drivers you can find.

Won't guarantee that it will solve your problem, but it has solved several
video-related bugs for me.

 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC being sold for profit...........?

2001-05-15 Thread Mac Reiter

>they're not doing anything wrong. So far as I can tell, there's no 
>intellectual property restriction wrapped around the VNC protocol itself, 
>so non-derivative works which use the protocol should be perfectly legal. 
>As is selling a product with VNC, or which _is_ VNC. The only problem would 

Correct.  The GPL guarantees that the GPL'ed work remains freely available.
 It does NOT state that it is illegal to charge people for the product.  Of
course, anyone who pays for an easily downloadable, freely available
product probably deserves to get fleeced for failing to check out their
alternatives, since even a rudimentary web search for PalmVNC will turn up
several pages, and Harakan software (the current developers) will be in the
top handful.  From their site it is very obvious that the product is freely
available.

A similar situation used to exist for Netscape.  Anyone could download it
for free from FTP sites, web sites (using Mosaic or earlier Netscape), or
BBSs.  But it was also available in various packages, starting at $50, in
local retail stores and online stores.  Different, because Netscape owned
the software, but similar in that users could buy or download.

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC vs Tridia

2001-05-17 Thread Mac Reiter

>> I see that Tridia has more encoding options (adding compression), but AT&T 
>> VNC is ported to more platforms. Fine. But as my primary use is 100% 
>> "wintel" << yeah, yeah, *nix is much better, but I'm a corporate IT guy 
>> that has to support an infrastructure of wintel boxes---cut me some slack, 
>> OK ;-) >> and both suites exist for that platform, I'd *really* like to 
>> know why some of you have mixed installations. Basically, if you're using 
>> Tridia to get better WAN/dialup inet performance, why keep AT&T VNC around 
>> for the LAN side? What's to be gained by a mixed VNC infrastructure?

Handy to have Tridia Server installed so that external/slow access can use
the Tridia Client and get compression.  Internal/fast access users will
probably prefer the floppy-sized AT&T installer (or, even better, simply
copying the ~115KB viewer executable) over the 5-6MB Tridia installer
(which also installs a Java runtime just to execute its install script, and
leaves it around so that it can execute its uninstall script later).
Technically, if you only want the viewer, the Tridia Client can also be
"installed" by simply copying the executable, but some people prefer to
have a "real" install program...

That's about the only thing I can think of.
Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Windows XP issues (reality check)

2001-05-22 Thread Mac Reiter

At 01:24 AM 5/22/01 +0100, you wrote:
>If someone tries to connect to my VNC server running on Windows XP (Beta
>2), and fail, my wallpaper is removed.

First, before I start, let me acknowledge that without bug reports, issues
are never found and fixed.  But I also wanted to make sure that no one has
unrealistic expectations concerning Windows XP Beta 2.

Re: MAJOR bug with 3.3.3r9 on Windows XP

Just a semantic issue...  I would have phrased your message "MAJOR bug with
Windows XP Beta 2".  When comparing a program that has been around a long
time and stable to a BETA operating system that has been around for less
than a month, I would generally assume that bugs are in the Beta OS.
Especially given Microsoft's not-so-sterling track record concerning bug
populations in released products.  I never use a wallpaper myself, so I
haven't experienced this problem.  Your post states that it only happens in
XP, other users have stated it exists in NT and 2000 as well.  I would tend
to suspect that the problem is the _failure_ to connect.  If VNC turns the
wallpaper off at the beginning of the connection, then fails to re-enable
it on a failed connection, that would explain some of the reproducibility
issues (people who log in and log out don't see it, people who fail to log
in see it).  This is all guesswork...

Also, regarding the "Quick User Change" feature.  Microsoft made a
fundamental change to the underlying graphics system, and a program that is
intricately tied to it doesn't behave exactly as expected.  Not surprising.
 There is a very great potential that Microsoft has re-"engineered" XP in
such a way that VNC and other non-Microsoft products cannot function
properly.  Consider:

1. Microsoft makes a product called Terminal Server that is great, but
fairly expensive, especially considering all the per-user / per-application
licenses you end up needing.  VNC, pcAnywhere, etc. all have a negative
impact on this branch of MS's income stream.
2. Much of the functionality VNC needs is not documented, is documented
incorrectly, or is actively mis-represented in other ways, even in current
OSs.  XP is highly unlikely to improve this situation.
3. Even assuming fair play and niceness on MS's part -- the easiest way to
handle switching desktops on a single display would be to discard all
graphics operations for desktops that are not visible.  Then, when a
desktop becomes visible, invalidate all the rectangles on the screen,
causing the applications to refresh them.  If this is the case, there are
no graphics for VNC to retrieve, because the graphics operations and
framebuffer are being ignored.  VNC can't get the actual hardware
framebuffer, because XP is going to protect that VERY heavily to make sure
that User A doesn't go scribbling on User B's desktop.  If you can't write
to it, you can't read from it -- Windows doesn't have security settings on
device contexts or graphics operations.

Again, always good to see bug reports and areas for improvement, but I just
wanted to make sure that people understand that these problems can very
easily be in Windows XP, rather than in VNC.

Also, I don't represent VNC, AT&T, anyone else in the project, or my
company, so if you feel like flaming, it's just me...

Mac
 _ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: VNC Connection Freezes / Drops

2001-05-23 Thread Mac Reiter

>you can call these "network issues" but it is tcp after all and packets do
>get lost.

Ummm...  UDP is the unreliable protocol family.  TCP has guaranteed in-order delivery 
of all packets.  If that guarantee is broken, the connection is supposed to be 
severed.  If you are actually losing TCP packets without losing the connection, one or 
both TCP/IP stacks would seem to be broken...  If a networking guru knows otherwise, 
it would be useful information.

I have however noticed a behavior that makes it very difficult to debug vncviewer.  I 
have been working on CE viewer, which requires compiling on a Windows machine.  That 
being the only machine readily available to run the server on, I have the viewer under 
debug connect to the development Windows machine.  There are certain points during the 
connection process (I believe it is during the initial screen download, but I'm not 
certain -- not debugging the server) that if I terminate the viewer, the server locks 
up my development machine.  Mouse moves, but can't click on anything or type anywhere. 
 I have to three-finger and terminate WinVNC, and then I can get control of the 
machine back.  So it would seem that there are places in WinVNC that do not gracefully 
handle severing of the connection.

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



Re: Null-Modem PPP

2001-05-24 Thread Mac Reiter

>For file transfer only, I use crossover USB cable 10$.

Just to avoid anybody trying to save themselves $10 by actually making a
"crossover USB cable", it won't work...  USB device chips are currently so
cheap and so small that they can afford to put two of them in a cable
(small enough to fit in the USB connector grip part).  Each computer gets a
USB device, and the two devices talk to each other.  Doesn't really matter,
as long as you can buy the $10 cable and do your work.  But if you actually
open a USB cable and try to just crossover the cables, you'll blow out one
or more of your computer USB controllers, and possibly damage the motherboard.

Sorry, but my company develops USB devices (and many other things), and it
mildly irritates me that other companies call these things crossover cables.

Mac
 _________ /"\
 Mac Reiter\ /ASCII Ribbon Campaign
 Nomadics, Inc. X Against HTML Mail
 [EMAIL PROTECTED]   / \   (To join the campaign, simply use
  this in your signature.)
-
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
-



  1   2   >