Re: [SLUG] Legacy application in VB6 (.com) - anyone know how to port this one?

From: Scott Grizzard (scott@scottgrizzard.com)
Date: Tue Jun 09 2009 - 09:27:20 EDT


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Okay, apparently SQL server is configured to only accept connections
from authenticated AD users, but one of the users is "FrontDesk", and
that account is used by four different people who share three computers
up front. That is why the "internal authentication" is there. (Still
no encryption).

How can I replicate this in MySQL, or can I? I am now well beyond my
MySQL-foo.

Thanks for helping folks,

- - Scott

Scott Grizzard wrote:
> Ohh, RealBasic looks like it might work - how did I not find this?
>
> My client's new server is 64-bit, and Real Basic only supports 32 bit -
> guess I'll have to document those installs...
>
> Oh crud - it won't open the project file. There is a converter online,
> but the person selling it has stopped selling it. I hate this project!
>
>
> ...and my dock just crashed... oh wait... it was just hung for a
> moment... AvantWM on KDE... full of surprises, but very cool.
>
>
> Okay, assuming that I can get the client portion of the application
> working in wine (I just found an old copy of VB6 in the junk drawer -
> not kidding), there is a version of the odbc driver that will work in
> VB6 and connect it to MySQL using the old ActiveX data object thing.
>
> However, if I connect VB6 to MySQL, I believe the connection will be
> unencrypted (which is always how you want to send privileged data
> through a network). Anyone have any ideas how to TRANSPARENTLY
> authenticate and encrypt connections from Linux and XP clients to a
> Linux+MySQL server? If I tell these people to fire up putty every time,
> it won't be a pretty picture.
>
> The problem is... well... read:
>> lblMsg.Caption = " Verifying UserID and Password."
>> rstE.Source = "SELECT * FROM Users WHERE UserID = '" & UCase(txtLOGID) & "'"
>> rstE.Open
> ...
>> If txtPass <> Trim(rstE.Fields("password")) Or rstE!inactive = True Then
>> lblMsg.Caption = "Invalid UserID or Password."
>> cmdCncl.Enabled = True
>> Exit Sub
>
> Yeah... WTFF?... the sever trusts the client... we all know how well
> that works...
>
>
> Here's what needs to happen: I need to authenticate the users that are
> logging on when the connection is made, before the application is
> allowed to query the server. I need that authentication to be
> encrypted, and all traffic between the server to be encrypted.
>
> I can either:
> a) add every user in the system as a mysql user, use that username and
> password to make the server connection, and break all of the admin tools
> built into the system. Then, I can just encrypt the whole thing in
> MySQL's SSL (assuming ODBC will do this).
> b) Authenticate the user against the users table in the database first
> using a hardcoded, auth only user, and then tell MySQL to trust the
> connection (don't know how to do this - maybe with a method or trigger?).
> c) Use PostgresQL, which allows authentication against Unix accounts.
> d) Make all clients VNC the server, and then trust the application as it
> does now.
> e) Hard code a password in the client and pray?
>
> I'm an IT and web guy, and this is a desktop application. How do you
> authenticate client applications directly to a MySQL database without
> creating new mysql users and breaking the App? Does anyone have any
> other ideas?
>
> Scott Grizzard
> scott@scottgrizzard.com
> http://www.scottgrizzard.com/
>
> PS: Ken, you are totally right that this needs to be a web application -
> it solves EVERY problem in the book. If I had the time, I'd fire up the
> Google Web Toolkit and rewrite the entire application in Java, and run
> it on a GlassFish server.
>
> I know they won't pay me for the 160+ hours it would take to do a full
> rewrite, but if they had handed me a stack of specs as specs, instead of
> a pile of source code, I would probably do just that and AfferoPL the
> whole, new application. However, so many people have touched this
> thing, and I have seen the source code, that I am afraid the ownership
> issue is a little murky.
>
>
> Ken Elliott wrote:
>> Real Basic
>> http://www.linux.com/archive/articles/34497
>
>> http://www.realsoftware.com/
>
>> It will likely need a bit of work to port, but it might be worth a shot.
>> I'd rather turn it into a web app so it runs via a browser. That way they
>> can run any OS they want.
>
>> Ken Elliott
>> =====================
>
>
>> -----Original Message-----
>> From: slug@nks.net [mailto:slug@nks.net] On Behalf Of Scott Grizzard
>> Sent: Monday, June 08, 2009 8:40 PM
>> To: slug@nks.net
>> Subject: [SLUG] Legacy application in VB6 (.com) - anyone know how to port
>> this one?
>
>> Here's one from the way back machine:
>
>> I have a client with a custom (I have all the source code) legacy
>> VB6/SQL Server application. I am trying to rid him of "that evil OS",
>> but this "custom" application won't run in Wine (yet). It also depends
>> on this older version of SQL, and I need it to work with MySQL or PgSql.
>
>> Does anyone have an idea of how I could port this "thing" off Windows
>> and on to our favorite operating system? (where users could then VNC
>> into the silly thing and still use it) Mono won't work - the "thing" is
>> written in .com, and Mono only supports .Net.
>
>> I am willing to cough up cash for software to get this thing out, so if
>> you know a proprietary BASIC compiler that deals with .com, and compiles
>> it straight for Linux, I am all ears.
>
>> I don't want to recode this whole thing - it's one of those "internal"
>> applications that has evolved over time, with logic all over the place,
>> few comments in the code, and little to no database documentation.
>
>> The SQL code was "tacked-on" later by another programmer, and I know I
>> will have to change the queries. Fortunately, it looks like the queries
>> were simply substituted in for file operations, so I think I will be
>> able to replicate the database logic without too much trouble.
>
>> The office will be moving to a new solution within two years, so I only
>> need it working for now. (Of course, that's probably what the last guy
>> said to himself, and here I am working with his code.)
>
>> I Googled, but did not find what I am looking for. Any Ideas?
>
>> Cheers,
>
>> Scott Grizzard
>> ----
>> scott@scottgrizzard.com
>> http://scottgrizzard.com
> -----------------------------------------------------------------------
> This list is provided as an unmoderated internet service by Networked
> Knowledge Systems (NKS). Views and opinions expressed in messages
> posted are those of the author and do not necessarily reflect the
> official policy or position of NKS or any of its employees.
>
> -----------------------------------------------------------------------
> This list is provided as an unmoderated internet service by Networked
> Knowledge Systems (NKS). Views and opinions expressed in messages
> posted are those of the author and do not necessarily reflect the
> official policy or position of NKS or any of its employees.
>
- -----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS). Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkouYzgACgkQARR1QiSWUG4i+ACgh5ccKeHjTFzDXMLfrkPRhWGE
N/EAn2HBRWPStyj5aqi2SQxY2dId7avH
=eJ6C
-----END PGP SIGNATURE-----
-----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS). Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 20:10:10 EDT