Microsoft killed FoxPro in 2007. Anyway, here's FoxPro revived
Thread
Unofficial Hacker News client; not affiliated with Y Combinator.
Microsoft killed FoxPro in 2007. Anyway, here's FoxPro revived
Unofficial Hacker News client; not affiliated with Y Combinator.
mikestew · · focus · HN ↗
My recommendation is to get rid of the DBF/DBC files and move to a SQL DB of some flavor ASAP. If you have the source code, use ODBC or OLE DB to point to a server.
Source: filed that bug over 20 years ago when I worked on the Fox team. No, it wasn’t going to get fixed without rewriting large parts of how the DB engine worked.
userbinator · · focus · HN ↗
If you already have full access by design, then there's no "huge security hole" either.
EvanAnderson · · focus · HN ↗
It seems like many people have a hard time understanding this, including developers.
Any attempt to add any kind of permissions, security, etc, without addressing the nature of the architecture (that the database engine runs in the same address space / security context as the UI) misses the point.
shermantanktop · · focus · HN ↗
But the filesystem access to read/write the db files creates a path to bypass half of that application.
Does the application checksum the db file and have any resistance to filesystem tampering? That'd be trivial to beat, I’m sure, but it’d be something.
aforwardslash · · focus · HN ↗
I can change the behaviour of many/most applications by just having read/write access to files; Can you give me examples of mainstream applications that are resistant to filesystem tampering when eg.you have install access? Maybe I'm missing something.
lelanthran · · focus · HN ↗
Is there any local/native application for which this is not true?
shermantanktop · · focus · HN ↗
I’m not a FoxPro user and so maybe these are single-user/single-host installs, where the user can only destroy their own data, and permissions are a pretend feature. In which case, carry on.
306bobby · · focus · HN ↗
EvanAnderson · · focus · HN ↗
The rub here is that FoxPro is an in-process database engine and accesses its data files with the security context of the user running the application. It doesn't have separation between the database engine and the UI like a client/server database would. Think of it like SQLite or BerkeleyDB.
Architecturally users who use the application need full read/write access to all the data files for FoxPro to work.
lelanthran · · focus · HN ↗
There's different needs for a permissions system.
You're thinking of it as "lock to the main entrance of a maximum security prison". Think of it more as a lock on a bedroom door: it's not there to withstand a SWAT assault, it's there to keep people from accidentally walking in.
All local applications (which were all applications in the era we are talking about) with permissions were sold to companies on the understanding that there was no real security.
Hell, even the networked products at the time had no real security :-/
Towaway69 · · focus · HN ↗
Trust was a thing back then. Spam was something that came out of a tin and was made of dead animal. And passwords were limited to eight ASCII characters.
And as such, bolting security onto something that was designed inherently to be security agnostic is going to be a recipe for failure.
antonvs · · focus · HN ↗
mikestew · · focus · HN ↗
No, it wasn't. The reason I even raised this bug to begin with was not because of some nefarious $BAD_COUNTRY hacker getting yer dataz from far away, it's because you have to worry about your own users first. I'd guess that any consultant doing the kind of work FoxPro excelled at (LOB apps) has found some clever boy or girl who discovered they can poke at DBF files directly. Long before internet connectivity was common, one still had to worry about your own coworkers futzing things up.