January 2006

PHPAudit v2 Breaks Backwards Compatibilty

by damonp on January 31, 2006

in Uncategorized

I recently upgraded a client’s PHPAudit install from v1 to v2. First let me say, I have no problems with PHPAudit’s software itself and v2 is a huge improvement over v1. It is now a full software store bundled with a licensing server for web applications.

The problem is their new version broke backward compatibility with all v1 integration code. The integration code is snippet of code you place in your application to validate the license with the licensing server. To allow for existing applications to use the new licensing server the integration code would need upgraded on each of the existing installs. How is this feasible with a few hundred installs, let alone others who I’m sure had thousands? To make matters worse, this snippet is usually embedded in an encoded file so the end user cannot remove the license checks. A simple cut and paste won’t do it. Several files would need replacing depending on how the software author integrated the validation code.

PHPAudit’s tech support was not helpful and insisted on steering the support requests away from the specific questions asked to their ‘solution’ of upgrading all of the software’s installs or maitaining both v1 and v2 versions of the licensing server to allow older installs to continue to validate. Maintaining both versions of the licensing server is further complicated because SolidPHP dropped all support for PHPAudit v1 shortly after the release of PHPAudit v2. If one of your official solutions is to maintain the older software, how can you drop support and end of life it?

At multiple points in the support transcript I requested links to documentation explaining that the validation code would need upgraded in all PHPAudit v1 applications. Full disclosure would have allowed developers to make an informed decision if an upgrade was viable for the particular use. No links were provided.

PHPAudit’s support stated it was too difficult to maintain backwards compatibility while moving forward with their new version. I questioned that statement as I was able to produce a server-side validation script that worked with both versions. If anyone else is finding similar problems with their PHPAudit upgrade contact me.

If a version to version upgrade breaks backward compatibilty, an application ought to be renamed. At the very least, a big bold caution to upgrading customers of the potential problems. Upgrade, to me, implies new version, fixes and more features not start over with more features. But hey, maybe I’m asking too much.

Popularity: 1%

{ 0 comments }

I recently had a hard time installing Zend Optimizer on a CentOS 4 server. When starting Apache after the install, this was logged to the Apache error_log:

Failed loading /usr/local/lib/ZendExtensionManager.so:  /usr/local/lib/ZendExtensionManager.so: undefined symbol: zend_extensions

Apache started up and ran, but no Zend Optimizer listed in the phpinfo page. Further weirdness had CLI PHP (command line PHP) showing the optimizer installed:

[root@www ~]# php -i | grep ptimizer
25: with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend Technologies
355:Zend Optimizer

A little Googling found this post over at the Zend forums.

Recompiling PHP without versioning corrected the problem and allowed the Zend Optimizer to load up in Apache/PHP.

Popularity: 1%

{ 2 comments }

Arachibutyrophobia

30 January 2006

n. The fear of peanut butter sticking to the roof of the mouth

Read the full article →

The Life – An Independant Software Developer’s Dream

30 January 2006

John Gruber over at DaringFireball.net had an interesting take on an independant software developer’s aspirations and pitfalls. I have traversed the full life cycle, startup, grow, build company, grow more, leave company. Now that I’m moving back to the independant thing I feel renewed. For me the fun is in the birthing and maturation phase. [...]

Read the full article →

Five Tips for Securing SSH

26 January 2006

These snippets are all options in the sshd_config file, located at /etc/ssh/sshd_config on most Linux distros. In order of increasing security Dissallow SSHv1 and force SSHv2 connections Protocol 2 SSHv1 is now considered unsecure. Limit the number of SSH connection attempts at one time MaxStartups 2 or MaxStartups start:rate:full From the sshd_config manpage Alternatively, random [...]

Read the full article →

Google Tracks Users Web Searches

24 January 2006

I hate the fact that while I am logged in to my Adwords/Adsense account and I do a Google search from the same browser (different tab or window) that my searches show that I am logged in to Google too. What about all of the times I forget to explicitly logout of a Google property? [...]

Read the full article →

Mail.app IMAP Broken in 10.4.4 Update

24 January 2006

I updated to OSX 10.4.4 on Sunday and now my IMAP accounts to some servers are broken. Accounts on Dovecot and Courier servers appear to be working but any U of Washington IMAP servers now have their namespaces hosed. I get a list of all of the files in my home directory instead of mail [...]

Read the full article →

SIM / SPRI Bad Syntax Perhaps Bogus Bug

19 January 2006

Newer versions of the system ps command can give the following error while running SIM or SPRI. Warning: bad syntax, perhaps a bogus ‘-’? See /usr/share/doc/procps-3.2.3/FAQ To fix make the following changes. SIM: Change /usr/local/sim/sim: ps -auxww | grep -v $IGNORE >> $PS_CACHE To: ps auxww | grep -v $IGNORE >> $PS_CACHE Removed the ‘-’ [...]

Read the full article →

Southwestern Bell Customer Service – Again

18 January 2006

My parents have had an antiques store for the past 27 years. They have had the same phone service with SWBell that they originally started with. The (phone) service was fine. They promptly fix any issues. It was cheap enough. No worries right? SWBell decides to go on a signup drive, so a sales person [...]

Read the full article →

Delete Duplicate Rows in MySQL

17 January 2006

1.5 million rows in a products_categories table. That’s 1,500,000 products to categories relations. I needed a quick way to remove products from multiple categories to test the performance hit of the HUGE products_categories table. A quick and dirty is to remove duplicate productids from the table. Here’s a quick howto. Create a temporary table with [...]

Read the full article →