=============== LANdb CHANGELOG =============== VERSION 0.91.2 (7/4/2000) -Rewrote installer -Added a RELEASE_NOTES file VERSION 0.91.1 (3/31/2000) -Fixed bug in building1.cgi and buildin2.cgi pointing to the wrong scripts -Fixed bug in misc.cgi pointing to the wrong functionid. -Fixed bug in the functions table: "Add Building Attributes" should've been "Add/Modify Attributes" -Fixed bug in the functions table: Host manager was not accounted for VERSION 0.91 (3/30/2000) -Fixed bug in adding building attributes not adding the last value -Changed (greatly improved) layout of Update Building. -Added function GetIDX to LANdb.pm, to return the X_idx of a network object. Only port is implemented currently. -Fixed bug in Update Port not updating the media type of the port correctly -Added port trunking support -Added a "Who's logged in" function to System Functions -Rewrote the attributes subsystem -Removed/rewrote the existing building attributes system -Added the Host Manager -GetCharacterVersion didn't report all info for media types. -Smarter defaults in Select boxes -Better media type removal. You're now presented with an option to replace the deleted media type with another. -Media types can be removed more smoothly -Reworked and tested the CSV scripts VERSION 0.90.2 (3/16/2000) -Fix for Adding Building Attributes not dying if $DBI::errstr -Added ability to remove building attributes -Improved formatting with the sort-by header buttons -Fixed bug in Search by Switch with cable numbers being repeated -Added ability to delete jacks from the database -Updated deletion of media types to remove these media from the ports -Added media support for duplexing -Added ability to delete entire buildings -Added check in Add Switch to make sure a closet is defined -Fix for removing cards from a switch not properly updating the jack table -Added ability to delete switches -The User Manager now enforces mandatory 'read-only searches' function for every user VERSION 0.90.1 (3/9/2000) -Fix for bug in amedia2.cgi -Added check to LANdbAuth to exit if $dbh was not created. -Minor changes to the functions system: System functions is now functionid 12, user management is now 13, and the user manager makes more strict selects from the database to ensure the order doesn't get botched. -Fix usermanager1 and 2 for problems with user management having the incorrect functionid. -Fixed install.pl for problem with duplicate functions being inserted -Fixed install.pl to insert a version -Fixed install.pl to drop info_X tables -Fixed Add Jack to not allow jacks to be added without closets -Fixed Update Media to say that there are no defined media types to delete -Fixed Update Port to yell if there are no switches in the given building VERSION 0.90 (3/1/2000) -chown nobody.nogroup /etc/landb.conf -/etc/landb.conf is readable only by nobody (or web server user) -Added superuser password to /etc/landb.conf -Added superuser username to mysql -Now requires MD5 -Updated install.pl to own and chmod /etc/landb.conf -Updated install.pl to encrypt the server (secret) key -Removed 'admincheck' from LANdb::DBLogin -Added 'sudo' style access to the database, along with function id's, and custom user management -Moved LANdb::DBLogin to LANdb::LANdbLogin -Added LANdb::LANdbAuth to replace the role of the former DBLogin -Moved LANdb::LANdbLogin out of LANdb.pm and into landb.cgi, since it's only used during login. -Adjusted all scripts to work with LANdb::LANdbAuth() -Added the User Manager -Added User "Change Password" function -Added logout.cgi to remove login cookie manually -Stale login cookies (> 24 hours) are automatically removed upon login, after 24 hours -Logins greater than 30 mins old are removed, forcing a re-login -Made optimizations to the User Manager -Logins of users (active or otherwise) are now removed when the user is deleted -Added Syslog function LANdb::syslog -Added Sequence insert function to LANdb.pm to act asan abstraction layer between mysql and oracle -Nearly complete re-write of a lot of the app, including a rewrite of all SQL statements. -Complete rewrite of the database schema -Merged the Add media and update media functions -Lookup Vlans is now done via list-vlans.cgi, for consistency with the other "lookup X" functions -Enhancements to Search by Jack - Now allows more than one jack by the same name. -Added GetVlans to LANdb.pm. -Changed the output of Search by port -Search by Building and Closet now return more information -Added System Functions function -Completed Perldoc documentation of LANdb.pm -Added GRANTing to install.pl -Changed formatting of sort by headers to be more uniform, but some no longer function. VERSION .81 (1/19/2000) -Worked in patch for uport3.cgi that was released on 01/04/200 -Fixed a small formatting bug in Update Closets -Made stricter table columns, to help prevent duplicates -Minor optimizations in SQL code -Added 'use current config' to install.pl -Fix for csv-building.pl always updating jacks -Added csv-closet.pl (Dale Carder) -"Use existing settings" option in install.pl to make upgrade installations easier VERSION .80 (1/2/2000) -Added notification of VLAN change to Update Port -Polished up Update Jack's output -Changed the default values for a new, inactive jack addition to '-' for slot, port, and cable. -Removed any leftover 'database handle destroyed...' entries in the web server's error log -Fix for LANdb::ZeroNormalize for slot numbers of 0. -Updated lo-by-closets2.cgi to use the List/PrintClosets functions -Fixed problem with inactive jacks and the Search by Jack function -Polished Search by Jack's output -Polished Add Switch, removed unused aswitch3.cgi -Fixed bug with adding 25 cards to a switch, which also existed in the update switch function. Duh. -Removed unnecessary calls for the config vars from /etc/landb.conf. Should improve performance a bit. -Fixed 'use of uninitialized values' problem in Add and Update Jack functions -Change to allow for updating of the name of a jack -Moved printing of HTML header to PrintHeader() -Changed <TD>'s to <TH>'s where appropriate -Wrote Update Closets function, and moved the act of adding a new closet under the same page. The layout is similar to the Modify VLAN Data function. -Removed List Buildings from Misc Functions, as it's now a common function anyway. -Added switch/building/closet info to Update Port screen 3, to make things look prettier. -Minor fixes to install.pl VERSION .76.1 (12/16/1999) -Fixed problem with HTML frames and logging out. Things work better now -Fixed problem with remote hosts not working. Thanks go to Teddy Grenman for the patch to use another hash, rather than environment vars. -The landb.conf file is now more human-readable. VERSION .76 (12/13/1999) -LANdb.pl is now, more properly, LANdb.pm -Misc. HTML Formatting fixes -Added Lookup Buildings function to Standard functions menu -Added the filesystem path of the cgi-bin directory to /etc/landb.conf -Added the ABOUT file -Added AdminCheck clause to LANdb::DBLogin, to allow for better security. -Added Lookup Closets function to the normal user menu -Added Lookup Switches function to the normal user menu -Changed login screens around. The login screen looks better, and 'about.html' is now loaded without javascript, which was once considered a necessary evil. -Changed login.cgi to landb.cgi, did the same with the new login2.cgi -Fixed problem in Update jack of not getting all the original info -Wrote first Comma Separated Values convertor, for those with spreadsheets. -Added ZeroNormalize function to the module VERSION .75.1 (12/9/1999) -Fixed bugs in install.pl: not creating directories on a fresh install, not writing configuration file on fresh install. -Modified install.pl to write a login.html, necessary to hold the location of login.cgi, which is user-specified. VERSION .75 (12/7/1999) -Fixed table formatting error in list-closets.cgi -Eliminated Javascript -Eliminated menu.cgi, instead delving out the task to smaller scripts -Fixed "normalizing" of slot/port numbers to a '01' format, since it caused problems when the number was already in the 'correct' format -Allow for the MySQL database to be on a host other than the one holding the scripts -Added an "Update this Port" button to the Update Jack function -Tweaked Update Switch to only allow you to delete cards/ports that are installed on that switch -Modified the VLAN/Subnet scripts to allow updating in VLANs and Subnets, instead of just delete/create -Fresh installs with install.pl will now create directories -Fixed bug in a-building1.cgi that didn't print the correct number of rows for select box attributes -Added a check for the jack not existing in Search by Jack -Changed the normalizing of '1' to '01' to not 'fix' empty values, so slot=0 and port=0 aren't submitted during Add Jack for an inactive jack. -Broke ListClosets into ListClosets and Printclosets to be more consistent with the rest of the API -Fixed up Search by Port to not display the slot/port in the results table -- that's a bit redundant. -Polished Misc functions, adding columns (like Vlan) that should be there -User can now only add cards to a switch that aren't there -- LANdb provides the choice automatically. -Modified the Add Building Attribute function to check for existing buildings, then prompt for values for the new attribute for these buildings. -Added sub GetCharacterVersion to the API to ease converting the 'nnnnnnn' database idx's into the user-friendly character versions -Added Update Building function -Added configuration file. Had to modify LANdb::PrintSorts, adding another parameter to pass the $cgi_bin variable through, since requiring in LANdb.pl wasn't agreeing with me. -Fixed problem with lo-by-query2.cgi not displaying the VLAN for certain queries -Added ability for non-localhost MySQL installations to install.pl, so it's all done automatically. -Minor HTML/formatting tweaks VERSION .74 (11/22/99) -Fixed problem with List by Building not showing the closet name for inactive jacks -Added Sort by headers to query screens -Added 'order by' clause to many select statements, to make html selects and whatnot easier to navigate -Fixed functions duplicating code already in LANdb.pl -Rewrote the main menu, replacing form buttons with images and javascript. -Removed some code from update2.cgi that checks for a user clicking "Back" on their browser. META page expirations are surprisingly faster and less troublesome. :) -Implemented VLANs and Subnets -Added query by switch -Changed ports and slots from 1 .. 9 to 01 .. 09 -Added VLAN query -Wrote first install script to ease installation. Fresh installs go off without a problem, upgrades may be a bit touchy. VERSION .73 (11/08/99) -Fixed problem (SQL error) with Update jack function updating to Inactive -Added ListBuildings, PrintBuildings, ListClosets, ListSwitches, PrintSwitches, PrintMedia, PrintHeader, PrintFooter to LANdb.pl -Added List Closets function under Misc Functions -Moved Add Closet function to Misc Functions -Fixed Update Switch function to not allow for changing the closet -Fixed Add Switch to allow up to 25 cards -Fixed Add Switch to allow adding slot 0 -Changed the Update Switch function to allow adding and removing cards -Moved the Add Switch function into Misc Functions -Added header/footer functions to the API -Added 'try again' link to the login failed screen, to allow trying again to be a bit easier -Modified PrintBuildings to allow for different printing types -Added Update Port function -Added minor documentation to the startup screen -Graphics converted to PNG in observance of Burn all GIFs day VERSION .72 (10/26/99) -Added update media function -Added building attributes function -Added customizable-query function -Began LANdb API switchover -Added about.html and adjusted login.html to load it on login -Added List Buildings function VERSION .71 (10/18/99) -Fixed error_log entry on login -Modified Add Jack to allow user to add jacks without having to add switches first. -Added 'media type' support and a function to add new media types -Fixed output formatting to look better with NULL values VERSION .70 (10/12/99) -Fixed 'Log Out' to actually log the user out, rather than reload the page, which allowed clicking 'back' to get back into the DB. -Made a trap for sending a blank passwd to the scripts, which allowed access to the main menu. The DB itself wasn't compromised. -Added support for up to 25 slots per switch and 48 ports per slot -Fixed problem with Search by port not displaying cable number and closet name -Added multiple port stats to Update Jack. This allows things like "Error Disable," and "Bad/Damaged." -Separated port and slot into two entities -Fixed error checking in add2.cgi to write 'undefined' errors to the web server's error_log when everything's fine. -Allowed for multiple instances of a cable per building. Updated searches accordingly. -User is now able to add jacks to the DB even if it isn't active (i.e., no switch info is added). -Added Update Switch function. Minimal functionality for now; more to come later in .7x. VERSION .65 (9/29/99) -Added error check to prevent duplicate cable labels -Added filter to prevent apostrophes from munging inserts -Added error check to let the user know of a lack of closets/switches in the selected building during Add Jack, rather than just presenting empty select boxes. -Added error check during Update Jack to prevent pressing the Browser button Back from munging data -Moved over the building-by-name tables to the building_idx method. -Added Misc Functions button and removed Update Switch. Individual pieces of Update Switch will appear later on under Misc Functions. -Added switch_idx to switches table. Switch-by-name tables are now created by an auto-incremented switch-id, to avoid table naming problems. Had to update the Add/Update scripts to get the switch_X table name. -Changed $name to $switch_idx in add2.cgi -- there, now isn't that easier? :) -Transformed LANdb.pl into a package, added a line to allow for multiple DBMS driver selections. This will make things easier to port to other DBMS's. -Added logout function to 'standard functions' VERSION .64 -Code tweaks and enhancements: moved some of the common code to LANdb.pl to avoid redundancy. -Added check for entering NULL as a Jack name. That's a no-no. We don't check Port and Cable, since non-active jacks can be entered into the database, and they wouldn't *have* a cable/port number. -Experimented with CGI and $query->param(), but found the performance loss too great, so reverted back to the previous method of the hashed $in{}. VERSION .63 -Added error checking during Add Jack to make sure port isn't already active. -Fixed formatting of first page in Search by Closet -Fixed output of add-closet.cgi to not display the admin's password. Things like this one would've been fixed by stable release, but this was too glaringly obvious to not fix. -Changed Update Jack to not allow changing the Jack number that we're updating, as it was allowing something that was against the point of updating an existing jack. -Pulled <pre> tags out of Update Jack. Jeesh, that was ugly... -Fixed bug where moving a jack from one switch to another with the same switch port failed the (if port_stat=active) error check -Minor formatting improvements -Added error checking to make sure yada switch is in yada closet during Add and Update jack. VERSION .62 -Added prefix to all switch tables, to avoid problems with buildings and switches being given the same name. When the add build script comes around, I'll have a prefix on buildings too. -Fixed length of switch IP field problem. -Added in closet name with switch selection in update jack script, so it's more difficult to chose a switch that isn't in the right closet. -Neatened up the Update jack form. -Fixed Search by Cable form to ask for a cable, rather than a port number. :) -Improved output of Search by Cable, List by Closet, and List by Building to include more info in their output. -Fixed problem with updating a jack by moving to a different switch in which the old switch wasn't updated with port_stat info. VERSION .61 -Added nifty little LANdb logo, but it only comes up on the login page. I want to keep the 'results' pages clean and printable, so I've left out the graphic on those, although I'd really really like to include them. -Fixed problem with Add Jack: Error-checking was looking for a port already in use in the building table, rather than switch table. Problem also existed in Update Jack. -Fixed problem with searching by port: wasn't requesting switch name, so the port query was (obviously) broken. This changes lo-by-port.cgi to lo-by-port1.cgi and adds in lo-by-port2.cgi to complete the lookup. VERSION .6 -Automated <select name=building> statements to get a list of buildings from a buildings table. -Added "Add Switch" function. Creation of switch table is automated. -Removed Switch fields from Add Closet function. The inserts here are taken care of in different tables, during the Add Switch function. Avoiding redundancy, that's all. -Added Switch name field in switch selection field of Add Jack function. -Add Jack now automatically updates Port Status info in Switch-by-name table. Same goes for Update Jack. -Changed naming scheme of add.cgi and add1.cgi to add1.cgi and add2.cgi, to be more consistent with the schemes of other script pairs. -Added in Switch field in 'search by' queries -Fixed problem with Search by Closet query -Fixed goof with type=hidden stuff inside <select>'s. Apparently, Communicator doesn't mind them being in there, and IE can't handle it. My fault for having them in there in the first place, which was just sloppy. VERSION .5 - First Release