phpipam development repository
Bugfixes:
----------------------------
+ Fixed upgrade queries issues from 1.3.2 to 1.4;
+ Fixed boolean printout in footer (#2625);
+ Fixed BGP Admin isn't working (#2631);
+ MySQL 8.0 compatibility. (#2646,#2239);
+ Table layout not aligned (#2656);
+ Improve scanning requirement checks (#1183);
+ PDNS Add/Edit DNS record not working for normal users (#2686);
+ Unable to save settings with link addresses = text custom field (#2702);
+ Kea MAC address display issue (#2704);
+ Returned custom fields to devices table (#2572);
+ Invalid scan agent key warning;
+ Subnet filter issue when IP contains 0 octet. (#2748);
+ Add VLAN button not working (#2741);
+ Incorrect subnet links in /tools/vrf/ view. (#2774);
+ Location data missing in exports. (#2833);
+ Check mysqldump path when exporting database;
+ Current rack position missing when editing a device. (#2545);
+ Misc html fixes (#3026,#3081,#3082);
+ API:
+ Fixed /user/ calls for SSL with app code (static app code);
+ Address IP field not displayed when using filter_by (#2934);
+ Addresses first_free & Subnets first/last_subnet thread safety (#2960);
Security Fixes:
----------------------------
+ SQL injections processing `tableName` (#2738);
+ SQL injections processing `ftype` (#2751);
+ All circuits map, PHP object injection (#2937);
New features:
------------
+ Configurable password policy;
+ Sessions can be now stored in database (#516);
+ Two-factor authentication - otp (Google Authenticator);
+ Customers module (#694);
+ Routing module (BGP) (#2135);
+ Search for free subnet inside whole section;
Enhancements, changes:
----------------------------
+ Circuits enhancements (Virtual Circuits);
+ Dropped support for 32bit systems;
+ PHP 5.4 is now required;
+ Added compressed actions dropdown;
+ SNMP module no longer requires MIB files;
+ Performance enhancements running under Azure/Amazon;
+ Added option to disable user (#1327);
+ Added policy NAT option;
+ Added custom NAT fields;
+ Rack module enhancements (#1325):
+ Dynamic rack sizes;
+ Top-down / Bottom-up racks;
+ Custom rack devices independent of devices (power, patch panel);
+ Customized user permissions for modules:
+ VLAN module;
+ VRF module;
+ PowerDNS module;
+ Circuits module;
+ Customers module;
+ Devices module;
+ Rack module;
+ NAT module;
+ PSTN module;
+ Locations module;
+ API:
+ New API security type - SSL with app code (static app code);
+ New config.php option $api_allow_unsafe to allow non-SSL API queries;
+ Added last access field to api;
+ Add Mac Search for Addresses controller (#2005);
+ New overlapping API call;
+ New global API parameter filter_match = full,partial,regex;
+ Add Tools API customers submodule;
+ Fix filtered results to always return data as array (#2558);
+ Widgets:
+ New user instruction widget (#2383);
Translations:
----------------------------
+ Japanese (ja_JP) translation added;
+ Traditional Chinese (zh_TW) translation added;
Bugfixes:
----------------------------
+ Fix appended " U" in Rack description (#2046);
+ Fix Bandwidth calculator - 400 Bad Request. (#1807);
+ Fix bad DNS reverse zone for /23 subnet (#666);
+ Fix Add missing standard field (#2153);
+ Fix Consistency of VARCHAR Size on 'owner' column across tables (#2136);
+ Fix Subnet details - Filter button missing when compressed range is used (#2353);
+ Fix slow page load times with linked addresses (#2324);
+ Fix " - is required" error when adding IPs with an empty IP filter set (#2334);
+ Fix column 'masterSubnetId' cannot be null error when adding subnets (#1977);
+ Fix logical circuits add/delete errors (#2381);
+ Fix adding new VLANs to an empty L2Domain (#2400);
+ Fix Nested child subnets with "na" permissions visible (#2223);
+ Fix translations containing apostrophes break functionality (#2504);
+ Set requestedAuthnContext to false for SAML (#2457);
+ API:
+ Fix inconsistent API success value returned (#2045);
+ Fix filter_by functionality (#2392);
+ Fix PATCH functionality (#2470, #2481);
Security Fixes:
----------------------------
+ Hide SNMP community (#2197);
+ Hide LDAP/AD/Radius username / password and secret from logs and syslog (#2006);
+ XSS in phpipamredirect cookie (#2338);
+ XSS in print-user.php, CSRF in user-edit.php (#2326);
+ Possible SQL injection in nat/item-add-submit.php (#2344);
+ Fixed possible file inclusion in editing authentication methods;
+ XSS in subnet-scan-telnet.php, CSRF in subnet-scan-execute.php (#2327);
Enhancements, changes:
----------------------------
+ url_rewrite has changed, please use new rewrite scheme (https://phpipam.net/news/new_rewrite_scheme/);
+ Search for matching subnet in all VRFs feature enabled when importing addresses;
+ Added new config option to show custom fields separated from standard fields when editing IP address;
+ Added Required fields subpage to define IP address fields that must be filled in;
+ Performance + bug fixes (#1660, #1657);
+ MasterSubnet dropdown list is dynamically generated via AJAX call;
+ Bandwidth calculator;
+ Support 8U rack sizes. (#1891);
+ API:
+ New last_subnet API calls (#1655);
Translations:
----------------------------
+ German translation updated to verson 1.3.1;
+ French translations updated. (#1881);
Bugfixes:
----------------------------
+ Fixed uncaught error if vlan number exceeds max permitted (#1455);
+ Fixed Illegal string offset 'dns_name' in pingCheck.php errors (#1461);
+ Performance fix for subnet_dropdown_print_available (#1562);
+ Fixed logo updater for apache v2.4 (#1582);
+ Fixed section names containing spaces are not included in exports (#1566);
+ Allow DNS wildcard records (#1571);
+ Fixed slow mac address vendor decoding for subnet detail view (#1658);
+ Performance fix for detecting overlapping subnets. (#1052, #1426, #1533);
+ Performance fix for slow mac address vendor decoding (#1658);
+ Performance fix for subnet API first_subnet & all_subnets calls;
+ Performance fix for delegating subnet permissions;
+ Convert to UTF-8 encoding on import/export to preserve dialectics (#1659, #1700, #1728);
+ Importing IPs loose Mac Addresses (#1607);
+ Section names containing spaces are not included in exports. (#1566);
+ Bug with section and dashboard (#1593);
+ Fixed improper contents in plain text part of notification e-mails (#1707);
+ Reduce size of email notifications (#1643);
+ PHP 5.3 compatibility fixes (#1594, #1730);
+ PHP 7.2 compatibility fixes (#1683, #1714);
+ Fixed notification e-mails contain a broken link. (#1708);
+ Allow dots to be used in domain names. (#1747);
+ Use multi-byte compatible functions when shortening text. (#1753);
+ Scan subnet reports/selects invalid php path. (#1757);
+ Small code refactoring (#1699);
+ Rack device start position overwritten. (#1545);
+ Sections with folders returns no subnets using API. (#1883);
+ Add custom_ prefix to Prefix controller custom fields. (#1836);
+ Non-Admins missing the button to Add circuit. (#1902);
+ Wrong field name of deviceTypes table when checking device type. (#1910);
+ SNMPv3 improvements;
+ Misc IPv6 fixes;
Security Fixes:
----------------------------
+ Code injection in Name field. (#1667);
+ XSS (reflected) in SubnetID param. (#1702);
+ CSRF enables open mail relay. (#1703);
+ Reflected XSS requiring user interaction on search. (#1705);
+ XSS reflected via CSRF in preview.php. (#1706);
+ Reflected XSS via CSV upload. (#1742);
+ Reflected XSS on 'mac' parameter. (#1903);
New features:
------------
+ Circuits module (circuits, providers, map, ...) (#731);
Enhancements, changes:
----------------------------
+ Racks:
+ Automatic location assignment when device added to rack (#1230);
+ Rack map showing map of all racks in location;
+ Rack back side;
+ Compact menu layout (per-user setting, showing only icons);
+ Network to network static nat;
+ Selectable logo size (from config.php) (#952);
+ Added default option for permissions propagations (#1351);
+ API:
+ Added Circuits controller;
+ Encrypyted requests can now also be form-encoded (#1191);
+ Introduce mcrypt AES compatibility (#1516);
+ Fixed field ip not displayed when filters applied (#1529);
+ New resolve hostnames option for subnet (#1222):
+ Updates hostnames via pingCheck.php script (if parameter set for subnet);
+ Updates hostnames via resolveIPaddresses.php script (if parameter set for subnet);
+ On-the-fly empty hostname update if resolved (if parameter set for subnet and enabled globally);
+ Added this infor to tools > scanned networks;
+ Added custom_ prefix to custom field names to avoid duplication with custom fields (#1387);
+ Added option to hide IP requests for unauthenticated users on login page (#1394);
+ Performance optimizations for locations and subnet usage calculation;
+ Added user groups custom fields;
Translations:
----------------------------
+ French translation updated to verson 1.3;
+ German translation updated to verson 1.3;
Bugfixes:
----------------------------
+ Fixed RACK images not displayed if not root location (#1204);
+ Fixed import gateway ip (#1240);
+ Fixed JSON_UNESCAPED_UNICODE for PHP 5.3 (#1135, #1245);
+ Rename class Thread to PingThread to avoid naming conflict with pthreads Thread class (#1254);
+ Fixed custom fields integer on subnet (#1266);
+ Fixed Import Ip-adress doesnt update location (#1284);
+ Fixed json_error for logo upload (#1256);
+ Fixed CSRF error when moving orphaned addresses (#1303);
+ Fixed VRF fetching via API by Id;
+ Fixed map issues when quotes are in name/description (#1384);
+ Fixed item not removed from NAT when deleted (#1378);
+ Fixed Error when error_reporting = E_ALL about strict standards when importing IP addresses (#1372);
+ Fixed Apostrophe errors in text custom fields (#1375);
+ Fixed API error when creating address under folder (#1507);
+ Fixed SNMPv3 (#1119);
Security Fixes:
----------------------------
+ Fixed XSS issues (#1403, #1521, #1500);
New features:
------------
+ Multicast module (RFC1112, RFC2464) with IP to MAC mapping and multicast networks overview;
+ Threshold module for subnets;
+ Racks module (Rack drawing) for devices;
+ Address linking by selected field;
+ Custom logo for site and mails;
+ PSTN number management module;
+ SNMP module:
+ Subnets discovery from route table (all subnets, nested subnets, add new subnet);
+ Hosts discovery scans via ARP check/interface check;
+ Hosts discovery scans via ARP + MAC address check (detects interface);
+ VLAN discovery;
+ VRF discovery;
+ Status update scans via ARP check;
+ NAT module
+ Source / static / destination NAT;
+ Linking subnet to NAT
+ Show bindings under tools and next to IP address / subnet
+ Locations module
+ Map devices / racks / subnets to location;
+ Google maps integration;
+ SAML2 authentication (SSO)
Enhancements, changes:
----------------------------
+ Folders can now contain addresses;
+ API:
- Api v1 removed;
+ If subnet gateway defined gatewayId is returned in subnet details;
+ Automatically added nameservers to subnet results;
+ Added subnet usage result for each subnet in section;
+ Added custom fields for all controllers;
+ New subnets automatically get parent permissions;
+ Added IP calculation to subnet;
+ Changed all not_found when searching objects to 404 and all invalid parameters to 409 (conflict);
+ If new item is created id will be available in response field “id”;
+ New parameter $time_response in api/index.php that will return execution time in field “time";
+ Extensive first_free subnet calls search speedup;
+ POST transaction locking;
+ All first_free and first_address responses are now "data" instead of "ip" and "subnet" for consistency;
+ Subnet splitting now copies over custom fields values by default (user custom_fields=no to revert);
+ Added API option to nest custom_fields to assure correct structure;
+ Added option to show/hide links in api by default for each app;
+ Changed API http response codes;
+ New methods:
+ users:
GET /user/expires/ // returns token expiration date
GET /user/token-expires/ // returns token expiration date
GET /user/users/ // returns all users (rwa app permissions required)
GET /user/admins/ // returns all admin users (rwa app permissions required)
+ addresses:
GET /addresses/first_free/{subnetId}/ // returns first available address (subnetId can be provided with parameters)
GET /addresses/{ip}/{subnetId}/ // returns IP address from subnet
GET /addresses/search/{hostname}/ // Will search addresses by hostname
DELETE /addresses/{ip}/{subnetId}/ // deletes IP address from subnet
POST /addresses/first_free/{subnetId}/ // will search for first free address in subnet, creating new address
+ subnets:
GET /subnets/{id}/addresses/{ip}/ // returns IP address from subnet
GET /subnets/{id}/first_free/ // returns first free address in subnet
GET /subnets/{id}/first_subnet/{mask}/ // returns first available subnets with specified mask
GET /subnets/{id}/all_subnets/{mask}/ // returns all available subnets with specified mask
POST /subnets/{id}/first_subnet/{mask}/ // creates first free subnet under master with specified mask
DELETE /subnets/{id}/permissions/ // removes permissions
PATCH /subnets/{id}/permissions/ // sets subnet permissions (?grouname1=ro&groupname2=3&43=1)
+ New controller Prefix;
+ New controller Devices;
+ New subcontrollers:
+ /tools/nat/
+ /tools/racks/
+ /tools/locations/
+ Widgets:
+ New threshold widget;
+ New inactive hosts widget;
+ New Locations widget;
+ PowerDNS:
+ Default domain for PTR records (if hostname is not set);
+ When removing IP address additional option that removes all associated PDNS records (ip and hostname);
+ Permit normal users to manage VLANs / VRFs;
+ Inactive (offline) hosts tools page;
+ MAC address normalization;
+ jQuery tables;
+ Permission delegation now only delegates changes not whole permission set;
+ Users with RWA permission can manage IP requests and receive IP request mails + changelog mails for subnet;
+ IPv4 subnet link to IPv6 for dual-stack info;
+ Removed inacessible DNS servers if timeout to prevent page load timeouts;
+ Added option to only show supernets to limit pageload [#844 #816 #736];
+ Added last scan info to subnet details;
+ Added option to update address tags when address state change occurs (pingCheck) [#840];
+ Added mantaneance mode;
+ Added inactive addresses removal script;
+ Subnet overlapping now checked also inside folders to prevernt duplicates;
+ Subnet overlapping now checked also between sections if VRF defined;
+ Added new settings directive that requires unique subnets accross sections;
+ Added index check in verify database to detect and fix possible missing DB indexes;
+ Added MAC address vendor display option;
Bugfixes:
----------------------------
+ PowerDNS regenerate PTR records now only updates current subnet (before whole zone);
+ Fixed visual bug on 32-bit systems;
+ Normal users with RWA permissions can scan subnets;
+ Changed default timestamp from 0000-00-00 00:00:00 to 1970-01-01 00:00:01 to avoid SQL install errors if strict mode;
+ Fixed https access on non-standard ports;
+ Extended username to 255 chars for LDAP logins;
+ Fixed search export invalid encoding and data may have been lost XLS file error;
+ Fixed invalid character encoding in API responses;
+ PowerDNS records cannot be created on slave zone;
+ Fixed subnet resizing bug if subnet contained slaves;
+ Added separate CSRF cookies for each address/subnet/pstn object;
+ Deleted items are now shown and searchable from changelog;
New features:
------------
+ Added multiple simultaneous authentication methods (Apache, AD, LDAP, Radius, NetIQ);
+ Added fping scanning support;
+ Added selectable scanning type (ping/pear/fping);
+ Added L2 domains;
+ Added option to define address as default GW for subnet;
+ Added customizable address tags with compressed option;
+ Added temporary subnet / address shares;
+ Added quick subnet masks;
+ Added nameserver sets per subnets (jonashauge);
+ Added optional syslog as log location;
+ REST API:
+ documentation: http://phpipam.net/api-documentation/
+ API v2, old v1 support added
+ Complete rewrite of all API calls;
+ New security models (crypt, ssl, none);
+ Support for custom fields;
+ JSON / XML output
+ Full read/write controllers (Sections, Subnets/Folders, Addresses, Vlans, Vrfs);
+ PowerDNS integration:
+ Automatic reverse records creation (PTR) - IPv4 and IPv6;
+ Automatic SOA, NS record creation;
+ DNS domain management;
+ Added Scan agents to scan subnets remotely;
+ Added firewall zone mappings and module;
+ Added per-subnet DNS resolvers;
+ Added option to mark subnet as utilized (full);
Enhancements:
----------------------------
+ All tables are now InnoDB by default;
+ Upgraded jQuery to 2.1.3;
+ All functions rewritten to classes/methods;
+ Parametized all SQL queries, moved from MySQLI to PDO;
+ Added VLAN/VRF to search and to search results export;
+ Redesigned admin and tools menu;
+ Added scanned/discovered subnets to tools for faster overview;
+ Per-user display settings;
+ New widget - tools shortcuts;
+ New widget - IP calculator;
+ New widget - request IP address;
+ Clickable links for subnet fields;
+ Custom VRF fields;
+ Subnets can be now linked to devices;
+ Import/export enhancements;
+ Fast user switching for admins to impersonate user;
+ Opened folders and subnets in tree menu are saved on page reload;
+ RWA users can now process IP requests;
+ Added auto-suggest for possible slave subnets;
+ SSL option for MySQL connections;
+ Enum custom field support;
+ Added password reset script;
+ Set sections to display VRF in;
Security Fixes:
----------------------------
+ Parametized all MySQL querries;
+ Fixed plainpass being logged on user update;
+ Fixed XSS exploit on /error/;
+ Added CSRF protection to forms;
Translations:
----------------------------
+ Added Czech translation;
Bugfixes:
----------------------------
+ Fixed bug with SSL/TLS smtp servers;
+ Fixed visual subnet display issues on 32bit systems;
+ Fixed IPv6 split subnets bug;
+ Fixed /31 ping bug scanning out of boundaries;
+ Fixed nested broadcast not counted to used percentage;
+ Fixed invalid redirect after timeout;
+ Fixed discovery script index overridden;
+ Fixed dashboard graphs links to subnets;
+ Fixed Invalid ID on subnet scan of large subnets;
Second beta for upcoming version with fixes from beta 1.
First beta for upcoming version
Migration to github