racktables-incomplete-works
8 years agor5102 do not allow NULL IP allocation type in database
Alexey Andriyanov [Thu, 7 Jun 2012 10:28:15 +0000 (10:28 +0000)] 
r5102 do not allow NULL IP allocation type in database

8 years agor5101 redirectIfNecessary: fix PHP fatal error if $_SESSION structure is incorrect
Alexey Andriyanov [Thu, 7 Jun 2012 10:27:46 +0000 (10:27 +0000)] 
r5101 redirectIfNecessary: fix PHP fatal error if $_SESSION structure is incorrect

8 years agor5100 remove support for 10GBase-CX1 ports
Aaron Dummer [Tue, 5 Jun 2012 15:10:37 +0000 (15:10 +0000)] 
r5100 remove support for 10GBase-CX1 ports

8 years agor5099 add support for 10GBase-CX1 ports, continued
Aaron Dummer [Tue, 5 Jun 2012 00:35:34 +0000 (00:35 +0000)] 
r5099 add support for 10GBase-CX1 ports, continued

8 years agor5098 add support for 10GBase-CX1 ports
Aaron Dummer [Tue, 5 Jun 2012 00:23:11 +0000 (00:23 +0000)] 
r5098 add support for 10GBase-CX1 ports

8 years agor5097 update install.php to reflect VIEW change made in r5095
Aaron Dummer [Mon, 4 Jun 2012 16:28:38 +0000 (16:28 +0000)] 
r5097 update install.php to reflect VIEW change made in r5095

8 years agor5096 bugfix: Manage locations tab was not working
Alexey Andriyanov [Mon, 4 Jun 2012 16:11:04 +0000 (16:11 +0000)] 
r5096 bugfix: Manage locations tab was not working

8 years agor5095 bugfix: rack names are empty
Alexey Andriyanov [Mon, 4 Jun 2012 15:31:04 +0000 (15:31 +0000)] 
r5095 bugfix: rack names are empty

executeUpgradeBatch: Racks convertion code switched from 'label' to 'name', but Racks view did not

8 years agor5094 Add support for locations. Upgrading from 0.19.x works as-is. Upgrading from...
Aaron Dummer [Sun, 3 Jun 2012 23:39:55 +0000 (23:39 +0000)] 
r5094 Add support for locations.  Upgrading from 0.19.x works as-is.  Upgrading from a previous revision of 0.20.0 requires some manual modification of the schema and data.

ALTER TABLE `EntityLink` MODIFY COLUMN `parent_entity_type` ENUM('ipv4net','ipv4rspool','ipv4vs','ipv6net','location','object','rack','row','user') NOT NULL;
ALTER TABLE `EntityLink` MODIFY COLUMN `child_entity_type` ENUM('file','location','object','rack','row') NOT NULL;
ALTER TABLE `FileLink` MODIFY COLUMN `entity_type` ENUM('ipv4net','ipv4rspool','ipv4vs','ipv6net','location','object','rack','user') NOT NULL DEFAULT 'object';
UPDATE `Object` SET name=label, label=NULL WHERE objtype_id = 1561;
UPDATE `EntityLink` SET parent_entity_type = 'row', child_entity_type = 'rack' WHERE child_entity_type = 'object' AND child_entity_id IN (SELECT id FROM `Object` WHERE objtype_id = 1560);

Also, create the Locations view and drop/re-create the Row and Rack views as their definitions have changed.

8 years agor5093 fix pre-0.20 references to the Object table, as it still known as RackObject
Aaron Dummer [Sat, 2 Jun 2012 23:15:26 +0000 (23:15 +0000)] 
r5093 fix pre-0.20 references to the Object table, as it still known as RackObject

8 years agor5092 init.php: determine CLI username by ENV variable instead of 'admin'
Alexey Andriyanov [Fri, 1 Jun 2012 13:02:11 +0000 (13:02 +0000)] 
r5092 init.php: determine CLI username by ENV variable instead of 'admin'

8 years agor5091 add Ubuntu & Debian releases
Aaron Dummer [Thu, 31 May 2012 17:46:30 +0000 (17:46 +0000)] 
r5091 add Ubuntu & Debian releases

8 years agor5090 add Dell switches
Aaron Dummer [Thu, 31 May 2012 17:13:04 +0000 (17:13 +0000)] 
r5090 add Dell switches

8 years agor5089 gateways/ssh: added -L key (disable login shell)
Alexey Andriyanov [Thu, 31 May 2012 09:42:14 +0000 (09:42 +0000)] 
r5089 gateways/ssh: added -L key (disable login shell)

8 years agor5088 add a record for Fedora 16
Denis Ovsienko [Fri, 18 May 2012 14:38:36 +0000 (14:38 +0000)] 
r5088 add a record for Fedora 16

8 years agor5087 commitAddPort: return new port id
Alexey Andriyanov [Thu, 17 May 2012 20:10:45 +0000 (20:10 +0000)] 
r5087 commitAddPort: return new port id

8 years agor5086 bugfix: CSS class name typo
Alexey Andriyanov [Wed, 16 May 2012 09:26:13 +0000 (09:26 +0000)] 
r5086 bugfix: CSS class name typo

8 years agor5085 new hook modifyEntitySummary. Allows to override any summary portlet
Alexey Andriyanov [Tue, 15 May 2012 17:13:43 +0000 (17:13 +0000)] 
r5085 new hook modifyEntitySummary. Allows to override any summary portlet

renderEntitySummary: call new hook modifyEntitySummary.
renderFileSummary: removed old hook modifyFileSummary

8 years agor5084 trivial CSS change
Alexey Andriyanov [Tue, 15 May 2012 17:12:16 +0000 (17:12 +0000)] 
r5084 trivial CSS change
merged together CSS classes .port_highlight and .slb-highlighted

8 years agor5083 commitUpdateVS: vport argument is not mandatory if proto is 'MARK'
Alexey Andriyanov [Mon, 14 May 2012 17:36:04 +0000 (17:36 +0000)] 
r5083 commitUpdateVS: vport argument is not mandatory if proto is 'MARK'
updateVService: idem

8 years agor5082 getResidentRacksData(): fix SQL typo (#553)
Aaron Dummer [Fri, 11 May 2012 15:16:30 +0000 (15:16 +0000)] 
r5082 getResidentRacksData(): fix SQL typo (#553)

8 years agor5081 renderCellFilterPortlet: button to make text filter out of checkboxes
Alexey Andriyanov [Fri, 11 May 2012 13:57:55 +0000 (13:57 +0000)] 
r5081 renderCellFilterPortlet: button to make text filter out of checkboxes

8 years agor5080 cable ids for links could be edited through AJAX, in-place editor API has been...
Alexey Andriyanov [Fri, 11 May 2012 11:51:26 +0000 (11:51 +0000)] 
r5080 cable ids for links could be edited through AJAX, in-place editor API has been changed

js/inplace-edit.js: in-place edit API changed: now it is easy to extend the use of this library

formatPortReservation: moved from ajax-interface.php into interface.php
updatePortRsvAJAX: do not return json, removed special opname in permission check
updateIPRsvAJAX: idem
updateCableIdAJAX: new handler for cable id change
renderObjectPortRow: make cable id editable
renderEmptyIPv6: use new in-place edit API, additional check for permissions to edit
renderIPv4NetworkAddresses: idem
renderIPv4NetworkAddresses: idem
renderIPv6NetworkAddresses: idem
renderObject: use "logentry" css class for formatting log entries, not "slbconf rsvtext"
allObjectLogs: idem
renderPopupHTML: ability to override port linking popup forms in plugins

8 years agor5079 bugfix: running VLAN list was not always correct with ios12 and nxos4 gateways
Alexey Andriyanov [Fri, 4 May 2012 17:41:45 +0000 (17:41 +0000)] 
r5079 bugfix: running VLAN list was not always correct with ios12 and nxos4 gateways

generate8021QDeployOps: remove unused VLANs before any other commands, not after
ios12PickVLANCommand: 'vlanlist' array was not filled correctly
nxos4PickVLANCommand: new function to read Nexus'es "show vlan brief"
nxos4ScanTopLevel: read VLAN table from "show vlan brief", not from config

8 years agor5078 bugfix: "routed by" column of object IP table was empty
Alexey Andriyanov [Fri, 4 May 2012 12:50:26 +0000 (12:50 +0000)] 
r5078 bugfix: "routed by" column of object IP table was empty

loadIPAddrList: fill own_* keys even if network is leaf
getIPv4OwnRangeSize: return range size even if network is leaf
getRenderedIPv4NetCapacity: a and b was interchanged to reflect changes in loadIPAddrList
getRenderedAlloc: pass IPV4_TREE_RTR_AS_CELL to printRoutersTD

8 years agor5077 update: more config variables can be overriden per user
Alexey Andriyanov [Fri, 4 May 2012 12:41:07 +0000 (12:41 +0000)] 
r5077 update: more config variables can be overriden per user

8 years agor5076 fixing code style
Alexey Andriyanov [Fri, 4 May 2012 12:32:08 +0000 (12:32 +0000)] 
r5076 fixing code style

8 years agor5075 generate8021QDeployOps
Alexey Andriyanov [Thu, 3 May 2012 13:47:51 +0000 (13:47 +0000)] 
r5075 generate8021QDeployOps
* do ports one-by-another. Do not begin with the next port until the previous one is totally done.
* sort ports in natural order when generating deploy ops

8 years agor5074 bugfix: possible deadlock in callScript if there are many input and output...
Alexey Andriyanov [Thu, 3 May 2012 10:10:48 +0000 (10:10 +0000)] 
r5074 bugfix: possible deadlock in callScript if there are many input and output lines

callScript: use select(2) to avoid read/write blocking

8 years agor5073 renderRackSpaceForObject(): add LABEL for Zero-U checkbox
Denis Ovsienko [Wed, 2 May 2012 15:10:15 +0000 (15:10 +0000)] 
r5073 renderRackSpaceForObject(): add LABEL for Zero-U checkbox

8 years agor5072 bugfix: displaying of 802.1Q ports tab could take too long
Alexey Andriyanov [Wed, 2 May 2012 12:33:11 +0000 (12:33 +0000)] 
r5072 bugfix: displaying of 802.1Q ports tab could take too long

getAccessPortControlCode: cache permitted() call results and do not call it hundreds of times with the same arguments

8 years agor5071 bugfix: 'FUNCTION * does not exist' SQL errors when upgrading 0.19.11 -> 0...
Alexey Andriyanov [Wed, 2 May 2012 10:10:11 +0000 (10:10 +0000)] 
r5071 bugfix: 'FUNCTION * does not exist' SQL errors when upgrading 0.19.11 -> 0.19.12

calling mySQL functions with a space between function name and opening bracket was causing this bug

8 years agor5070 reverted some destructive changes from r5060
Alexey Andriyanov [Sat, 28 Apr 2012 18:00:04 +0000 (18:00 +0000)] 
r5070 reverted some destructive changes from r5060

getResidentRacksData: SQL query was not using DB index causing a delay ~ 8sec on some installations
spotEntity, listCells: rack_id key was not containing valid data if the object was zero-mounted

8 years agor5069 MacroParser: added trace field (may be used in plugins)
Alexey Andriyanov [Fri, 27 Apr 2012 13:18:59 +0000 (13:18 +0000)] 
r5069 MacroParser: added trace field (may be used in plugins)

8 years agor5068 generalize hwExpireReport() and rename to renderExpirations()
Denis Ovsienko [Fri, 27 Apr 2012 12:49:12 +0000 (12:49 +0000)] 
r5068 generalize hwExpireReport() and rename to renderExpirations()

(This extends existing report to include "SW warranty expiration" and
"support contract expiration" data.)

8 years agor5067 merge r5065, take 2
Denis Ovsienko [Fri, 27 Apr 2012 09:22:54 +0000 (09:22 +0000)] 
r5067 merge r5065, take 2

8 years agor5066 merge "[T]" attributes into trunk (r5064, r5065)
Denis Ovsienko [Fri, 27 Apr 2012 07:49:40 +0000 (07:49 +0000)] 
r5066 merge "[T]" attributes into trunk (r5064, r5065)

8 years agor5063 add Dell dictionary entries
Aaron Dummer [Mon, 23 Apr 2012 17:07:21 +0000 (17:07 +0000)] 
r5063 add Dell dictionary entries

8 years agor5062 renderRackspace(): move tag filter to the right side (#484)
Denis Ovsienko [Sat, 21 Apr 2012 09:51:14 +0000 (09:51 +0000)] 
r5062 renderRackspace(): move tag filter to the right side (#484)

8 years agor5061 use is_callable() instead of function_exists() (#551)
Denis Ovsienko [Fri, 20 Apr 2012 10:54:06 +0000 (10:54 +0000)] 
r5061 use is_callable() instead of function_exists() (#551)

8 years agor5060 bugfix: containers weren't displayed properly on the list objects page (#547)
Aaron Dummer [Fri, 20 Apr 2012 04:26:56 +0000 (04:26 +0000)] 
r5060 bugfix: containers weren't displayed properly on the list objects page (#547)

8 years agor5059 update eos4Read8021QConfig() to populate "portconfig" array
Denis Ovsienko [Thu, 19 Apr 2012 10:32:45 +0000 (10:32 +0000)] 
r5059 update eos4Read8021QConfig() to populate "portconfig" array

8 years agor5058 fix dictionary entry for WS-XSUP720-3BXL
Aaron Dummer [Thu, 19 Apr 2012 03:34:43 +0000 (03:34 +0000)] 
r5058 fix dictionary entry for WS-XSUP720-3BXL

8 years agor5057 fix two EOS parsing functions for the new port naming pattern
Denis Ovsienko [Tue, 17 Apr 2012 21:27:33 +0000 (21:27 +0000)] 
r5057 fix two EOS parsing functions for the new port naming pattern

ios12ShortenIfName(): add EOS's special "Et" form
eos4ReadInterfaceStatus(): use ios12ShortenIfName()
eos4ReadMacList(): idem

8 years agor5056 adjust Arista port naming (again)
Denis Ovsienko [Tue, 17 Apr 2012 17:49:52 +0000 (17:49 +0000)] 
r5056 adjust Arista port naming (again)

8 years agor5055 initial Arista EOS support
Denis Ovsienko [Tue, 17 Apr 2012 17:48:08 +0000 (17:48 +0000)] 
r5055 initial Arista EOS support

detectDeviceBreed(): add new "eos4" breed
queryTerminal(): add commands for new case
eos4ReadLLDPStatus(): new function
eos4TranslatePushQueue(): new function
eos4BuildSwitchport(): new function
eos4Read8021QConfig(): new function
eos4ReadInterfaceStatus(): new function
eos4ReadMacList(): new function
eos4SpotConfigText(): new function

8 years agor5054 ios12ShortenIfName(): make "port-channel" case-insensitive, add "management"
Denis Ovsienko [Tue, 17 Apr 2012 17:24:37 +0000 (17:24 +0000)] 
r5054 ios12ShortenIfName(): make "port-channel" case-insensitive, add "management"

8 years agor5053 fix DCS-7124 port naming
Denis Ovsienko [Tue, 17 Apr 2012 11:29:35 +0000 (11:29 +0000)] 
r5053 fix DCS-7124  port naming

8 years agor5052 list Arista EOS 4
Denis Ovsienko [Tue, 17 Apr 2012 08:51:15 +0000 (08:51 +0000)] 
r5052 list Arista EOS 4

8 years agor5051 queryTerminal(): disable terminal monitoring for FTOS
Denis Ovsienko [Tue, 17 Apr 2012 08:48:31 +0000 (08:48 +0000)] 
r5051 queryTerminal(): disable terminal monitoring for FTOS

8 years agor5050 bugfix: IPV4_AUTO_RELEASE config var was not working since 0.19.11
Alexey Andriyanov [Mon, 16 Apr 2012 15:59:42 +0000 (15:59 +0000)] 
r5050 bugfix: IPV4_AUTO_RELEASE config var was not working since 0.19.11

maintenance functions:
bindIpToObject: IPV4_AUTO_RELEASE-related code moved here from ophandler
bindIPv6ToObject: idem
addIPv4Allocation: IPV4_AUTO_RELEASE-related code moved into database.php
addIPv6Allocation: idem

trunk functions:
bindIPToObject: IPV4_AUTO_RELEASE-related code moved here from ophandler
addIPAllocation: IPV4_AUTO_RELEASE-related code moved into database.php

8 years agor5048 fix addRack() to generate messages consistently
Denis Ovsienko [Sun, 15 Apr 2012 16:27:12 +0000 (16:27 +0000)] 
r5048 fix addRack() to generate messages consistently

8 years agor5047 fix log records display for nameless objects
Denis Ovsienko [Sun, 15 Apr 2012 15:05:39 +0000 (15:05 +0000)] 
r5047 fix log records display for nameless objects

allObjectLogs(): use spotEntity() to ensure some text inside the link

8 years agor5046 new API function buildTagIdsFromChain
Alexey Andriyanov [Fri, 13 Apr 2012 08:23:59 +0000 (08:23 +0000)] 
r5046 new API function buildTagIdsFromChain

8 years agor5045 add mapping for IE's own 'image/pjpeg' MIME type
Denis Ovsienko [Fri, 13 Apr 2012 04:58:05 +0000 (04:58 +0000)] 
r5045 add mapping for IE's own 'image/pjpeg' MIME type

8 years agor5043 justify changelogs and prepare for 0.19.12
Denis Ovsienko [Thu, 12 Apr 2012 15:25:49 +0000 (15:25 +0000)] 
r5043 justify changelogs and prepare for 0.19.12

8 years agor5042 update queryTerminal() for IOS prompt
Denis Ovsienko [Wed, 11 Apr 2012 09:33:16 +0000 (09:33 +0000)] 
r5042 update queryTerminal() for IOS prompt

8 years agor5041 fix LABELs in renderSNMPPortFinder()
Denis Ovsienko [Tue, 10 Apr 2012 13:55:23 +0000 (13:55 +0000)] 
r5041 fix LABELs in renderSNMPPortFinder()

8 years agor5040 use LABELs in renderIPAddressProperties()
Denis Ovsienko [Tue, 10 Apr 2012 13:11:27 +0000 (13:11 +0000)] 
r5040 use LABELs in renderIPAddressProperties()

8 years agor5039 bugfix: removed links to obsoleted pages ipv4vslist and ipv4rsplist
Alexey Andriyanov [Tue, 10 Apr 2012 08:19:42 +0000 (08:19 +0000)] 
r5039 bugfix: removed links to obsoleted pages ipv4vslist and ipv4rsplist

8 years agor5038 bugfix: scanIPv4Space was not prepared for recet SLB Db schema changes
Alexey Andriyanov [Mon, 9 Apr 2012 10:54:10 +0000 (10:54 +0000)] 
r5038 bugfix: scanIPv4Space was not prepared for recet SLB Db schema changes

8 years agor5037 IPv6 SLB support
Alexey Andriyanov [Sun, 8 Apr 2012 20:28:56 +0000 (20:28 +0000)] 
r5037 IPv6 SLB support

DB schema:
 'rsip' and 'vip' fields in IPv4RS and IPv4VS became varbinary(16) - universal v4/v6 data type

Data structures:
 new fields 'vip_bin' and 'rsip_bin' in corresponding data structs

Navigation:
 'IPv4 SLB' main menu item renamed to 'IP SLB'
 'lost' pages 'ipv4vslist' and 'ipv4rsplist' were removed
 new tabs 'new VS' and 'new RS pool' on SLB page.
 no more full lists to delete VS and RSPools, now it is link on Edit tab of corresponding realm's page

Functions:
 spotEntity: calculate 'vip' and 'dname' fields of ipv4vs after DB fetch
 listCells: idem
 scanIPv4Space: minor SQL edits
 scanIPv6Space: became just like scanIPv4Space, except for NAT
 fetchIPAddressNetworkRow: new v4/v6 query dispatcher
 generateEntityAutoTags: new '$any_ipv6vs' tag, '$ipv4vsid_X' renamed to '$ipvsid_X'
 renderIPv6NetworkAddresses: display VS/RSP info near IPv6 address
 setDisplayedName: calculate VS name, too
 ip_in_range: new IP utility function
 constructIPAddress: 'vslist', 'rslist' are now in common v4/v6 part
 isIPNetworkEmpty: consider 'vslist', 'rslist' in IPv6 nets
 renderSLBTriplets: minor change in detecting ipaddress pseudo-realm
 getTriplets: idem
 renderNewRSPoolForm: it was printNewItemTR in editRSPools
 -editRSPools: removed
 renderNewVSForm: it was printNewItemTR renderVSListEditForm
 -renderVSListEditForm: removed
 renderEditVService: added 'delete virtual service' link
 getTripletsByIP: reflect DB schema changes
 addRStoRSPool: idem
 commitUpdateRS: idem
 commitUpdateVS: idem
 getRSList: idem
 generateConfig: new predefined macro 'IP_VER'
 addRealServer: adapt formats to accept IPv6
 addVService: show success message with a link to new entity
 addRSPool: idem
 deleteRSPool: redirect user to ipv4slb page, not to index
 deleteVService: check if target VS is not linked
 updateRealServer: accept both v4 and v6 arguments
 updateVService: idem
 showError was renamed to showUpgradeError, because there is another function in functions.php named showError
 convertSLBTablesToBinIPs: new upgrade function, converts SLB tables to new format
 usePreparedInsertBlade: duplicated in upgrade.php

8 years agor5036 weed broken links out from the dictionary
Denis Ovsienko [Sun, 8 Apr 2012 11:04:05 +0000 (11:04 +0000)] 
r5036 weed broken links out from the dictionary

8 years agor5035 remove two extra reloadDictionary() calls from trunk
Denis Ovsienko [Sun, 8 Apr 2012 10:13:24 +0000 (10:13 +0000)] 
r5035 remove two extra reloadDictionary() calls from trunk

8 years agor5034 upgrade.php: call reloadDictionary() only once at the end
Denis Ovsienko [Sun, 8 Apr 2012 10:09:55 +0000 (10:09 +0000)] 
r5034 upgrade.php: call reloadDictionary() only once at the end

Release 0.19.8 added a foreign key relation between Dictionary and
Chapter MySQL tables. Release 0.19.12 introduces two new chapters
and respective records in Dictionary, which will fail an attempt to
INSERT performed in batches 0.19.9, 0.19.10 and 0.19.11. Doing
Dictionary updates after all the batches are complete resolves this
issue and also results in a significant speed gain of a multi-release
upgrade.

8 years agor5033 minor update for 0.19.12
Denis Ovsienko [Sun, 8 Apr 2012 09:50:20 +0000 (09:50 +0000)] 
r5033 minor update for 0.19.12

8 years agor5032 hardware warranty report by Ernest Shaffer
Denis Ovsienko [Sat, 7 Apr 2012 10:03:55 +0000 (10:03 +0000)] 
r5032 hardware warranty report by Ernest Shaffer

hwExpireReport(): new function
scanAttrRelativeDays(): new function

8 years agor5031 remove odd case from queryTerminal()
Denis Ovsienko [Fri, 6 Apr 2012 17:18:04 +0000 (17:18 +0000)] 
r5031 remove odd case from queryTerminal()

8 years agor5030 Aironet IOS is broken, use telnet method
Denis Ovsienko [Fri, 6 Apr 2012 10:51:49 +0000 (10:51 +0000)] 
r5030 Aironet IOS is broken, use telnet method

8 years agor5029 try ios12SpotConfigText() for "air12"
Denis Ovsienko [Fri, 6 Apr 2012 10:33:36 +0000 (10:33 +0000)] 
r5029 try ios12SpotConfigText() for "air12"

8 years agor5028 initial Aironet support in gateways API
Denis Ovsienko [Fri, 6 Apr 2012 10:28:32 +0000 (10:28 +0000)] 
r5028 initial Aironet support in gateways API

air12TranslatePushQueue(): new translator function
detectDeviceBreed(): update for new software codes
queryTerminal(): update for new breed

8 years agor5027 add a wireless AP software type attribute
Denis Ovsienko [Fri, 6 Apr 2012 10:12:23 +0000 (10:12 +0000)] 
r5027 add a wireless AP software type attribute

8 years agor5026 ability to delete RS pool from rs pool page, properties tab
Alexey Andriyanov [Thu, 5 Apr 2012 06:07:20 +0000 (06:07 +0000)] 
r5026 ability to delete RS pool from rs pool page, properties tab

8 years agor5025 list Dell R510 server
Denis Ovsienko [Sun, 1 Apr 2012 16:40:24 +0000 (16:40 +0000)] 
r5025 list Dell R510 server

8 years agor5024 new popup parameter 'event'. Ability to show popup div to react on click, not...
Alexey Andriyanov [Thu, 29 Mar 2012 17:08:04 +0000 (17:08 +0000)] 
r5024 new popup parameter 'event'. Ability to show popup div to react on click, not on mouse hover

8 years agor5023 ability to override and extend AJAX dispatchers in plugins.
Alexey Andriyanov [Thu, 29 Mar 2012 17:06:54 +0000 (17:06 +0000)] 
r5023 ability to override and extend AJAX dispatchers in plugins.
Dispatchers are now configured in navigation.php

-dispatchAJAXRequest: dispatcher code moved to index.php, valuable code separated by new functions
verifyCodeAJAX: AJAX handler was separated into new function
getPortInfoAJAX: idem
updatePortRsvAJAX: idem
updateIPRsvAJAX: idem
getNetUsageAJAX: idem

8 years agor5022 cmpTags: custom sort func for tagchain
Alexey Andriyanov [Thu, 29 Mar 2012 16:47:36 +0000 (16:47 +0000)] 
r5022 cmpTags: custom sort func for tagchain
serializeTags: tags are ordered by their root ids
renderNetVLAN: moved from interface.php to interface-lib.php

8 years agor5021 new utility functions
Alexey Andriyanov [Thu, 29 Mar 2012 16:45:02 +0000 (16:45 +0000)] 
r5021 new utility functions

ip_get_arpa: generates DNS record name in reverse zone for a given IP
ip4_get_arpa: idem
ip6_get_arpa: idem
array_last: returns last element of array

8 years agor5019 forgot to add JS lib into commit #5012
Alexey Andriyanov [Tue, 27 Mar 2012 11:24:56 +0000 (11:24 +0000)] 
r5019 forgot to add JS lib into commit #5012

8 years agor5018 restore message codes in tableHandler() (fixes commit 4475)
Denis Ovsienko [Fri, 23 Mar 2012 17:57:56 +0000 (17:57 +0000)] 
r5018 restore message codes in tableHandler() (fixes commit 4475)

8 years agor5017 Add records for CFP transceivers.
Denis Ovsienko [Fri, 23 Mar 2012 17:39:30 +0000 (17:39 +0000)] 
r5017 Add records for CFP transceivers.

This commit adds new IIF ID for CFP form-factor and configures it for
100GbE transceivers (but not for the 40GbE ones, because it's not clear
yet if 40G and 100G CFP sockets are the same or not).

8 years agor5016 Dismiss 10GBase-CR4 OIF type.
Denis Ovsienko [Fri, 23 Mar 2012 16:29:41 +0000 (16:29 +0000)] 
r5016 Dismiss 10GBase-CR4 OIF type.

40GBase-CR4 (QSFP+) isn't a transceiver, but a direct-attach twinax cable
assembly very much like SFP+ 10GbE counterpart. The established practice
of representing links using copper assemblies is to record an empty port
connected to another empty port. This means, standalone 40GBase-CR4 OIF
is dismissed as such, QSFP+ to QSFP+ links should be recorded instead.

8 years agor5015 ability to override the longest-prefix-by-ip network search logic
Alexey Andriyanov [Fri, 23 Mar 2012 15:59:40 +0000 (15:59 +0000)] 
r5015 ability to override the longest-prefix-by-ip network search logic

getIPv4AddressNetworkId: ability to override fetchIPv4AddressNetworkRow function
getIPv6AddressNetworkId: idem

8 years agor5014 removed accidentially committed debugging code
Alexey Andriyanov [Fri, 23 Mar 2012 13:14:41 +0000 (13:14 +0000)] 
r5014 removed accidentially committed debugging code

8 years agor5013 reverting accidentally commited development changes
Alexey Andriyanov [Fri, 23 Mar 2012 11:34:18 +0000 (11:34 +0000)] 
r5013 reverting accidentally commited development changes

8 years agor5012 Significant part of IP-related code was rewritten for clarity, unification...
Alexey Andriyanov [Fri, 23 Mar 2012 11:28:42 +0000 (11:28 +0000)] 
r5012 Significant part of IP-related code was rewritten for clarity, unification and extendability.

Visible changes:
 * IP tree rendering speed has been increased
 * IP tree filtering does not affect child networks of the filtered ones
 * In "do not show IPv4 usage" mode the network usage is availible by click through AJAX
 * Each arrow aside backtrace element in IP net pages is now clickable to display IP subtree with the corresponing net as root
 * Clicking on 'IP space' link in navigation bar from within IP net page resets saved filter
 * VLAN numbers in IP tree are rendered below CIDR, no more dedicated column
 * Auto scroll-down is performed when clicking on 'expand IP tree element' button
 * Row highlight color became nicer
 * 'knights' support for IPv6
 * IP log (allocation history) support for IPv6
 * 'collapse all' link in IP tree
 * '$spare_XX' and '$aggregate' autotags for IPv6 nets
 * v4 net usage progressbar displays both allocated and unallocated spaces
 * '$vlan_XX' autotags added to ipv4net/ipv6net cells
 * IPV4_TREE_RTR_AS_CELL config variable has another state 'none'
 * '$masklen_ge_XX' and '$masklen_le_XX' autotags removed from 'ipv4net' cells
 * Object's 'IPv4' and 'IPv6' tabs were merged into single 'IP' tab

Data structures changes:
 * all binary IPs of integer, class instance types were replaced by 4- and 16-bytes binary strings
 * range list items of scanIPv4Space parameter are now keyed by 'first' and 'last' instead if 'i32_first' and 'i32_last'
 * scanIPv6Space and scanIPv6Space results are indexed by binary string IP
 * most SQL queries were cleaned of INET_NTOA and INET_ATON - now they accept and return uint32 IPs
 * 'ip' key of getIPv4AddressSearchResult result item is now binary string
 * loadIPAddrList sets 'addrlist', 'own_addrlist', 'addrc', 'own_addrc'. No more 'addrt'.
 * findRouters output: no more 'addr', but 'ip_bin' key

 ipv4net, ipv6net entities:
 * no more 'parent_id' key
 * no more 'mask_bin_inv', 'db_first', 'db_last' keys
 * 'ip_bin', 'mask_bin' keys are now binary strings, nor integers neither IPv6Address objects
 * 'child_nets' key of ip nets is renamed to 'kidc'
 * new data structure IPRange with keys 'ip', 'ip_bin', 'mask', 'mask_bin'. ipv4net and ipv6 net are descendants of it
 * 'spare_ranges' key in ipv6net

Navigation changes:
 * new 'ip' object tab instead of 'ipv4' and 'ipv6' tabs
 * instead of updIPv4Allocation, addIPv4Allocation, delIPv4Allocation,
     updIPv6Allocation, addIPv6Allocation, delIPv6Allocation on 'ipv4' and 'ipv6' object tab, ops are named 'upd', 'add', 'del'.
 * the same for 'ipaddress' page
 * no more 'ipv6address' page, it is merged with 'ipaddress'
 * 'hl_ipaddress' and 'hl_ipv6address' http params were renamed to 'hl_ip'

Changed function list (+: new function, -: deleted function, ~: function prototype changed, *: function body changed)
- IPv6Address class
~ InvalidRequestArgException class is now a descendant of InvalidArgException
+ addIPLogEntry: v4/v6 wrapper
~ addIPv4LogEntry
+ addIPv6LogEntry
~ getAllIPv4Allocations
+ amplifyAllocationList: takes a list of allocs (returned by getObjectIPAllocationList) and fills ['addrinfo'] subarray for any IP address
+ bindIPToObject: v4/v6 wrapper
- bindIpToObject: renamed to bindIPv4ToObject
+ bindIPv4ToObject: renamed from bindIpToObject
~ bindIPv6ToObject
~ commitAddFile: now returns created id
~ commitAddObject: idem
~ commitCreateUserAccount: idem
- constructIPv4Address: replaced by constructIPAddress
- constructIPv6Address: idem
* createIPv4Prefix
* createIPv6Prefix
~ deletePortForwarding
+ fetchIPLogEntry: v4/v6 wrapper
~ fetchIPv4AddressNetworkRow
~ fetchIPv6AddressNetworkRow
~ fetchIPv4LogEntry
+ fetchIPv6LogEntry
* generateEntityAutoTags
+ getIPAddress: v4/v6 wrapper
~ getIPv4Address
~ getIPv6Address
+ getIPAddressNetworkId: v4/v6 wrapper
~ getIPv4AddressNetworkId
~ getIPv6AddressNetworkId
~ getIPv4AddressSearchResult
+ getObjectIPAllocationList: merges together the results of getObjectIPv4AllocationList and getObjectIPv6AllocationList
~ getObjectIPv4AllocationList
+ getObjectIPAllocations: v4/v6 wrapper
~ getObjectIPv4Allocations
~ getObjectIPv6Allocations
~ listCells
~ newPortForwarding
- produceTagsForLastRecord: removed if favor of produceTagsForNewRecord
+ produceTagsForNewRecord: the same as produceTagsForLastRecord, but requires new item id on input, does not call lastInsertID
+ scanIPSpace: v4/v6 wrapper
~ scanIPv4Space
~ scanIPv6Space
~ spotEntity
+ spotNetworkByIP: wrapper around getIPAddressNetworkId and spotEntity
- unbindIpFromObject: renamed into unbindIPv4FromObject
+ unbindIPFromObject: v4/v6 wrapper
+ unbindIPv4FromObject: it is the renamed unbindIpFromObject
~ unbindIPv6FromObject
~ updateAddress: v4/v6 wrapper
~ updateV4Address
~ updateV6Address
- updateBond: renamed into updateIPv4Bond
+ updateIPBond: v4/v6 wrapper
+ updateIPv4Bond: renamed from updateBond
~ updateIPv6Bond
~ updatePortForwarding

+ IPNetContains: returns TRUE if first range contains second
+ IPNetContainsOrEqual: returns TRUE if first range contains or equal to second
+ IPNetworkCmp: compares two IP ranges
- IPv4NetworkCmp: removed in favor of IPNetworkCmp
- IPv6NetworkCmp: idem
~ assertIPArg: now it returns binary IP
~ assertIPv4Arg: idem
~ assertIPv6Arg: idem
- binInvMaskFromDec: removed in favor of ~ip4_mask
- binMaskFromDec: removed in favor of ip4_mask
+ constructIPAddress: replaces constructIPv4Address and constructIPv6Address
+ constructIPRange: generates IP network array by IP and mask
- countOwnIPv4Addresses: replaced by loadIPAddrList
+ fillIPNetsCorrelation: renamed from fillIPv4NetsCorrelation
- fillIPv4SpareList: removed in favor of fillIPSpareListBstr
+ fillIPSpareListBstr: replacement of fillIPv4SpareList
- fillIPv4NetsCorrelation: renamed into fillIPNetsCorrelation
* findAllEndpoints
~ findRouters
* genericAssertion
* getCellFilter
* getEmployedVlans
~ getIPAddress
+ getIPv4OwnRangeSize: does what countOwnIPv4Addresses used to, but do not call this directly.
+ ip4_bin2db: part of IP format convertation toolkit
+ ip4_bin2int: idem
+ ip4_format: idem
+ ip4_int2bin: idem
+ ip4_parse: idem
+ ip4_checkparse: idem
+ ip6_checkparse: idem
+ ip_checkparse: idem
+ ip6_format: idem
+ ip6_parse: idem
+ ip_parse: idem
+ ip_format: idem
+ ip_mask: v4/v6 wrapper
+ ip4_mask: get binary mask from prefix length
+ ip6_mask: idem
+ ip4_range_size: part of IP range calculation toolkit
+ ip4_mask_size: idem
+ ip_last: idem
+ ip_next: idem
+ ip_prev: idem
- ip_long2quad: removed
- ip_quad2long: removed
~ iptree_construct: made v4/v6 compliant
~ iptree_embed: made v4/v6 compliant
* iptree_fill: made v4/v6 compliant
- ipv6tree_construct
- ipv6tree_embed
- ipv6tree_fill
* iptree_markup_collapsion
+ isCheckSet: function to check if HTML form's checkbox is set
+ loadIPAddrList: universal function instead of loadIPv4AddrList, loadIPv6AddrList, loadOwnIPv4Addresses, loadOwnIPv6Addresses, countOwnIPv4Addresses
- loadIPv4AddrList: removed in favor of loadIPAddrList
- loadIPv6AddrList: removed in favor of loadIPAddrList
- loadOwnIPv4Addresses: removed in favor of loadIPAddrList
- loadOwnIPv6Addresses: removed in favor of loadIPAddrList
+ makeIPTree: calculate parent_id for items in netlist
+ prepareIPTree: universal function instead of prepareIPv4Tree, prepareIPv6Tree
- prepareIPv4Tree: removed in favor of prepareIPTree
- prepareIPv6Tree removed in favor of prepareIPTree
~ searchEntitiesByText
+ set_word_value: former IPv6Address class method

+ getRenderedIPNetCapacity: v4/v6 wrapper
+ getRenderedIPv4NetCapacity
+ getRenderedIPv6NetCapacity
- formatIPv6NetUsage: code has gone into getRenderedIPv6NetCapacity
* renderProgressBar: moved from interface.php to interface-lib.php
* getProgressBar: idem
* dynamic_title_decoder
~ getPageNumOfIPv6: moved
~ getRenderedAlloc
* getRenderedIPNetBacktrace
* printIPNetInfoTDs
~ printRoutersTD
* renderCell
* renderDepot
~ renderEmptyIPv6
* renderIPAddress
* renderIPAddressAllocations
+ renderIPAddressLog: new universal renderer
- renderIPv4AddressLog: removed in favor of renderIPAddressLog
* renderIPAddressProperties
+ renderIPForObject: new universal renderer
- renderIPv4ForObject: removed in favor of renderIPTabForObject
- renderIPv6ForObject: removed in favor of renderIPTabForObjectt
+ renderIPNetworkAddresses
+ renderIPSpace: new universal renderer
- renderIPv4Space: removed in favor of renderIPv4Space
- renderIPv6Space: removed in favor of renderIPv6Space
+ renderIPSpaceEditor: new universal renderer
- renderIPv4SpaceEditor: removed in favor of renderIPSpaceEditor
- renderIPv6SpaceEditor:  removed in favor of renderIPv6SpaceEditor
+ renderIPNetwork: new universal renderer
- renderIPv4Network: removed in favor of renderIPNetwork
- renderIPv6Network: removed in favor of renderIPNetwork
+ renderIPv4NetworkAddresses: v4-specific part of renderIPv4Network gone here
* renderIPv6NetworkAddresses
+ renderIPSpaceRecords: replaces renderIPv4SpaceRecords and renderIPv6SpaceRecords
- renderIPv4SpaceRecords: removed in favor of renderIPSpaceRecords
- renderIPv6SpaceRecords: removed in favor of renderIPSpaceRecords
- renderIPTabForObject: removed in favor of renderIPForObject
* renderLivePTR
* renderNATv4ForObject
+ renderNetVLAN
* renderObject
~ renderRouterCell
* renderSearchResults
~ renderSeparator
* showPathAndSearch

* addFileWithoutLink
+ addIPAllocation: new universal ophandler
- addIPv4Allocation: removed in favor or addIPAllocation
- addIPv6Allocation: removed in favor or addIPAllocation
* addIPv4Prefix
* addIPv6Prefix
* addPortForwarding
* addRack
* addRealServer
* addRealServers
* addVService
* cloneRSPool
* createUser
+ delIPAllocation: new universal ophandler
- delIPv4Allocation: removed in favor or delIPAllocation
- delIPv6Allocation: removed in favor or delIPAllocation
* delIPv4Prefix
* delIPv6Prefix
* delPortForwarding
* editAddress: universal ophandler instead of v4-only
- editv6Address: removed in favor of editAddress
* importPTRData
+ updIPAllocation: new universal ophandler
- updIPv4Allocation: removed in favor or updIPAllocation
- updIPv6Allocation: removed in favor of updIPAllocation
* updPortForwarding
* updateObject
* updateRack
* updateRealServer
* updateVService

* renderSLBTriplets
~ addRStoRSPool
* commitCreateRSPool
~ commitUpdateRS
~ commitUpdateVS
+ renderProgressBar4Image: 4-fields progress-bar renderer
+ triggerIPAddressLog: universal trigger
- triggerIPv4AddressLog: removed in favor of triggerIPAddressLog
+ trigger_ip: universal trigger
- trigger_ipv4: removed in favor of trigger_ip
- trigger_ipv6: removed in favor of trigger_ip
* trigger_natv4
* executeUpgradeBatch

8 years agor5011 bugfix: fetchPortList: wrong field name 'cable_id' renamed to 'cableid'
Alexey Andriyanov [Fri, 23 Mar 2012 10:49:14 +0000 (10:49 +0000)] 
r5011 bugfix: fetchPortList: wrong field name 'cable_id' renamed to 'cableid'

8 years agor5010 non-anonymous LDAP search (#442) by Hannes Georg
Denis Ovsienko [Sat, 17 Mar 2012 09:58:43 +0000 (09:58 +0000)] 
r5010 non-anonymous LDAP search (#442) by Hannes Georg

queryLDAPServer(): add handling of "search_bind_rdn" and "search_bind_password"
init_config(): add two new options to generated comment block

8 years agor5009 Linux releases update by Michael C Tiernan (#542)
Denis Ovsienko [Sat, 17 Mar 2012 08:25:06 +0000 (08:25 +0000)] 
r5009 Linux releases update by Michael C Tiernan (#542)

8 years agor5008 resetUIConfig(): update for the new value of DEFAULT_PORT_OIF_IDS
Denis Ovsienko [Sat, 17 Mar 2012 07:26:31 +0000 (07:26 +0000)] 
r5008 resetUIConfig(): update for the new value of DEFAULT_PORT_OIF_IDS

8 years agor5007 add 40GbE QSFP+ rows
Denis Ovsienko [Sat, 17 Mar 2012 07:19:21 +0000 (07:19 +0000)] 
r5007 add 40GbE QSFP+ rows

8 years agor5006 renderSNMPPortFinder: got rid of PHP notice
Alexey Andriyanov [Fri, 16 Mar 2012 18:57:37 +0000 (18:57 +0000)] 
r5006 renderSNMPPortFinder: got rid of PHP notice

8 years agor5005 fetchPortList: SQL query was optimized for speed
Alexey Andriyanov [Fri, 16 Mar 2012 18:40:14 +0000 (18:40 +0000)] 
r5005 fetchPortList: SQL query was optimized for speed

fix by Boris Lytochkin

8 years agor5004 renderUpgraderHTML(): minor text correction
Denis Ovsienko [Thu, 15 Mar 2012 16:15:47 +0000 (16:15 +0000)] 
r5004 renderUpgraderHTML(): minor text correction

8 years agor5003 0.19.12: add missing serial console queries
Denis Ovsienko [Thu, 15 Mar 2012 16:12:44 +0000 (16:12 +0000)] 
r5003 0.19.12: add missing serial console queries

8 years agor5002 formatAttributeValue(): punctuation
Denis Ovsienko [Thu, 15 Mar 2012 15:50:03 +0000 (15:50 +0000)] 
r5002 formatAttributeValue(): punctuation

8 years agor5001 renderUpgraderHTML(): explain authentication failure in more details
Denis Ovsienko [Thu, 15 Mar 2012 15:40:36 +0000 (15:40 +0000)] 
r5001 renderUpgraderHTML(): explain authentication failure in more details

8 years agor5000 initial serial console servers records
Denis Ovsienko [Thu, 15 Mar 2012 15:37:34 +0000 (15:37 +0000)] 
r5000 initial serial console servers records

8 years agor4999 0.19.12 upgrade batch: fix array syntax
Denis Ovsienko [Thu, 15 Mar 2012 14:58:59 +0000 (14:58 +0000)] 
r4999 0.19.12 upgrade batch: fix array syntax

8 years agor4998 Added a reference to COPYING into every file with meaningful PHP, Perl or
Denis Ovsienko [Wed, 14 Mar 2012 12:58:35 +0000 (12:58 +0000)] 
r4998 Added a reference to COPYING into every file with meaningful PHP, Perl or
shell code; added a reference to LICENSE into COPYING.