ctompos
|
|
Group: Forum Members
Posts: 3,
Visits: 22
|
Hello, My company will likely be purchasing licenses for the VNC Viewer component, so in the meantime we've working with the evaluation version. In developing with your control (.NET, C#), I have come across two pain points. - If I connect to a remote system (with scaling disabled) that has a resolution higher than the size of the control, then the scroll bars may not appear. Re-sizing the window causes the scroll bars to appear correctly. This is a somewhat minor nuisance, but I was wondering whether you were aware of this problem and/or a solution.
- Secondly and more importantly, I've run into a problem with the way your control handles passwords. We've disabled MessageBoxes in the Viewer component and overridden the AuthenticationFailed event to disable password prompts.
We provide a custom control for connection configuration, so the user enters a host name, port and password and then attempts to connect. We serialize this connection information and persist it. If the user enters an incorrect password, then connection attempts fail as expected. The ActiveX control does not open any dialogs. However, if the incorrect password is a blank password, then the ActiveX control presents the user with a password prompt. If the user successfully enters the correct password into this dialog, then the connection succeeds, but I am never able to get the password that was entered. As a result, the next time the user starts our application they'll be forced to re-enter their password. Is there any way to either (A) disable the password prompt that your control opens altogether (so we'd just use the AuthenticationFailed event to notify us that the user needs to specify a different password) or (B) allow us to get the password that the user entered into your password prompt?
- Lastly, and this isn't all that important, would it be possible to expose the font and background colors used when rendering the Disconnected state onto the control?
Thanks for your time!
|
|
|
Yury Averkiev (s-code)
|
|
Group: Administrators
Posts: 1.9K,
Visits: 3.6K
|
If I connect to a remote system (with scaling disabled) that has a resolution higher than the size of the control, then the scroll bars may not appear. Re-sizing the window causes the scroll bars to appear correctly. This is a somewhat minor nuisance, but I was wondering whether you were aware of this problem and/or a solution. Could you tell me which ViewerX build do you use? In the v3.3.9 we did some bug-fixing with not appearing scrollbars behavior (this information is not available in the Changelog). If you use the latest v3.3.9, are you able to reproduce the problem using the Demo C# application? Secondly and more importantly, I've run into a problem with the way your control handles passwords. We've disabled MessageBoxes in the Viewer component and overridden the AuthenticationFailed event to disable password prompts. A - I think this one could be implemented. We could add PromptPasswordnEmpty property, that would control the password window behavior. B - I don't think you need it at all. If you handle AuthenticationFailed event, it means that you use own UI to prompt the user to enter the password. Hence you have the access to the password information. You can store this after you have received Connected event, which would indicate that the connection has been established (authentication passed). Lastly, and this isn't all that important, would it be possible to expose the font and background colors used when rendering the Disconnected state onto the control? Background color, yes this could be done. Font probably not. But if you have to have the ability to customize the font used, we could implement it for you as a customization project, for a small fee.
 Regards,
|
|
|
ctompos
|
|
Group: Forum Members
Posts: 3,
Visits: 22
|
Could you tell me which ViewerX build do you use? In the v3.3.9 we did some bug-fixing with not appearing scrollbars behavior (this information is not available in the Changelog). If you use the latest v3.3.9, are you able to reproduce the problem using the Demo C# application? Yes, we're using 3.3.9. On Monday I'll test this in the demo C# app. A - I think this one could be implemented. We could add PromptPasswordnEmpty property, that would control the password window behavior. Perfect. Disabling the password prompt and leveraging the AuthenticationFailed event would be ideal for us. Background color, yes this could be done. Font probably not. But if you have to have the ability to customize the font used, we could implement it for you as a customization project, for a small fee. This isn't a big deal, so never mind! Getting the additional password property is much more important to us. Thanks for the prompt reply!
|
|
|
ctompos
|
|
Group: Forum Members
Posts: 3,
Visits: 22
|
Hi! My company finally purchased a license. Huzzah! I was wondering whether you had any estimate as to when you might be able to address the issue with the password prompt appearing. Thanks for your time!
|
|
|
Yury Averkiev (s-code)
|
|
Group: Administrators
Posts: 1.9K,
Visits: 3.6K
|
I've taken a closer look at the empty password and the AuthenticationFailed event. It turns out to be rather interesting issue. Indeed, ViewerX will show the password prompt if you would attempt to establish connection without setting the Password property. In 99.9% cases this behavior would work just fine. There are couple of reasons why: - nowadays almost nobody uses VNC server without password set. So establishing connection without a password set would almost guaranteed to fail.
- And here comes the second reason - if you use an invalid password, the VNC server would reply with authentication failed exception.
When ViewerX receives Authentication Failed, it raises the AuthenticationFailed event, shows the password prompt, etc. But if you use empty password and the server doesn't accept empty passwords, instead of sending Authentication Failed reply, the server would reject and close the connection. So in this case there is no way for us to know why the connection was closed and the user will not see the password prompt.
Raising AuthenticationFailed event when you attempt to establish connection with empty password would be a wrong thing to do, because the authentication hasn't failed yet. I'm afraid we will have to keep the current behavior as it's. For a small fee, we can create a custom build of ViewerX tailored for your requirements. If you are interested, please PM or email me.
 Regards,
|
|
|
CrazyDood
|
|
Group: Forum Members
Posts: 18,
Visits: 57
|
I just tried supplying an empty password to UltraVNC's view app and it just gave me an "Empty Password" error. So I guess it's pretty easy to check for an empty password in our apps, tell the user they can't use empty passwords. I would also just use your own input box for the password. That's what I'm going to do. It let's you use your own app's look-and-feel and capture the password they typed. Of course I could just be misunderstanding the issue.
|
|
|
arnoldjacob
|
|
Group: Forum Members
Posts: 1,
Visits: 4
|
Dialog box is most effective when its design characteristics match its usage..so while making message box that care should be taken.
Managed Hosting
|
|
|
fhi
|
|
Group: Forum Members
Posts: 2,
Visits: 11
|
Hello, is it possible to suppress the "Log On to Windows" Dialog for MS-Logon (like in UltraVNC) and use your own password boxes? It's because I use tabs and don't want to show message boxes. As far as I know, there's no Event for this and I will always get this dialog. Currently I just use a dummy password, so I can connect to server without passwords (yes this works  ). If I need one, I handle the AuthenticationFailed event, set pbCancelAndDontPromptForPassword to false and show my own password GUI inside the tab. But if I want to connect to a server with MS-Logon, your password dialog is shown immediately and I'm unable to show my own stuff. My second problem: If you entered wrong data in the MS-Logon dialog, ViewerX will raise the AuthenticationFailed Event and I'm unable to determine if I need a VNC password or a MS login. ViewerLoginType is always set to VLT_VNC. Thanks for your help.
|
|
|
Yury Averkiev (s-code)
|
|
Group: Administrators
Posts: 1.9K,
Visits: 3.6K
|
My second problem: If you entered wrong data in the MS-Logon dialog, ViewerX will raise the AuthenticationFailed Event and I'm unable to determine if I need a VNC password or a MS login. ViewerLoginType is always set to VLT_VNC. That's a good idea. We will update AuthenticationFailed event to include ViewerLoginType argument. Most likely this change will be included in the next v3.4.4 build. Please note that the LoginType property was deprecated and no longer used. is it possible to suppress the "Log On to Windows" Dialog for MS-Logon (like in UltraVNC) and use your own password boxes? It's because I use tabs and don't want to show message boxes. As far as I know, there's no Event for this and I will always get this dialog. Currently I just use a dummy password, so I can connect to server without passwords (yes this works  ). If I need one, I handle the AuthenticationFailed event, set pbCancelAndDontPromptForPassword to false and show my own password GUI inside the tab. But if I want to connect to a server with MS-Logon, your password dialog is shown immediately and I'm unable to show my own stuff. While this sounds like a good suggestion, I'm afraid for now we will not be changing how the password prompt system works.
 Regards,
|
|
|
fhi
|
|
Group: Forum Members
Posts: 2,
Visits: 11
|
That's a good idea. We will update AuthenticationFailed event to include ViewerLoginType argument. Most likely this change will be included in the next v3.4.4 build. Thanks. This will help a lot.
|
|
|