* fix: Two-Factor Auth
Moved library to a class to take advantage of namespacing and auto loading.
Update the two factor code to use the AuthenticationException for error messages.
Fix remember me to work with 2fa.
* missing change
* fix: minimize session open time
page/graphs speedup part 2
Write close the session as soon as we no longer need to write to it. Prevents the session from blocking other requests.
Do not run through full authentication functions if the session is already authenticated.
Removes password from the session as well as some items to prevent session fixation from #4608.
WARNING: This will cause issues for ad/ldap users who do not have a bind user configured!
* Do no erase username when using cookie auth.
Properly close the session in ajax_setresolution.php
* write close the session as soon as possible in ajax_setresolution.php
* Remove session regeneration. It is not compatible with the current code and would require more changes.
* Totally refactor authentication. Extract code to functions for re-use and improved readability
* Use exceptions for authentication and error logging
Tested: mysql, ad_auth with and without bind user
* fix a couple scrutinizer issues
* fix reauthenticate in radius
* feature: Added script (scripts/test-template.php) to test alert templates
* moved remaining functions, fixed php 5.3 and include dir
* added docs on use for test-template script
* refactor: move default alert rules into the collection
Also adds the wireless rules to the default set.
* Added additional defaults to extra
* Fix up the extra value
Also, missed `rule` column when creating default rules
* newdevice: Added support for Terra sti410c
* newdevice: tests for Terra sti410c
* renamed sti410c to terra, added support for sti440 and recognition for sda410C, sta410C, saa410C, sdi410C, sai410C, ttd440, ttx410C, tdx410C, sdi480
* fixed terra.svg and access to sysDescr
* newdevice: Add connected AP count for Cisco WLCs
Adds ap-count wireless sensor type
fixes: #4295
* better detection
Update the overview graph to the new one
fixes: #5264
The issue was all the string concatenation...
But I decided to try loading the select via ajax. Seems ok. We could just use something like select2. Opinions? Use this approach or load at page load.
I was able to reduce the loading of the 4000 select items from 1.6s to 0.6s on my laptop by optimizing the sql.
I added 4000 devices to my database to check this :)
* Increased speed of loading syslog pages.
I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* moved schema 186->189
* add BIND named poller
* add BIND named graphs
* add BIND stuff
* add the color pallete used by this
* add app support
* white space cleanup
* document the bind stuff
* expand the linux package stuff a bit
* note the agent and zero_stats value
* now include the $mib stuff
* white space cleanup
* whoops, add the update app bit
* correct a error added when merging
* readd copyright info
* note myself in the copyright info
* Added feature CPU and Memory monitoring on BDCom switchs
* Added feature CPU and Memory monitoring on BDCom switchs, plus pre-commit check
* Added mib files, and modification given by laf
* Replaced png logo with a svg version. Modification in the validation of processor discovery.
* Replaced png logo with a svg version. Modification in the validation of processor discovery + added files.
* feature: Wireless Sensors
Includes client counts for ios and unifi
Graphing could use some improvement.
Alerting and threshold ui not implemented
WIP: starting OO based wireless sensors.
Class based functionality working
remove old functional files
add schema file
discovery needs to be enabled, not polling
fix up schema
fix Unifi discovery not returning an array
Add some debug when discovering a sensor.
Fix style.
Add missing semicolin
Add a null object (Generic) for OS.
Fill out some phpdocs
Re-organized code
Each sensor type now has it's own discovery and polling interface
Custom polling tested with Unifi CCQ
Left to do:
Implement UI (Graphs and Custom thresholds)
Alerting
Testing
Fix event message text
Remove runDiscovery and runPolling from OS, they are unused and don't belong there.
Cleanups/docs
Missed this file.
Remove the requirement to fetch the current value to check validity.
Do that automatically if current is not specified
A few cleanups here and there
First pass at graphing.
device_ and wireless_ graphs added.
Add RouterOS support
Singleton OS instance isn't required right now.
Remove that to allow some memory to be freed.
Add wireless to the device list metrics.
Make all metrics clickable
Tweak graphs a bit
Implement limit configuration page.
Use sensors page as common code instead of duplicating.
Clean up some javascript interactions: Allow enter on values to save. Cancel if update is not needed. Enable the clear custom button after setting a custom value.
Add some wireless alert rules to the library.
Add documentation.
Add unifi client counts by ssid in addition to radio.
Optimize Sensor polling a bit.
Add HP MSM clients support (for full controller)
Fix function accessibility
Formalize the discovery and poller interfaces.
Add Xirrus clients and noise floor
move module interfaces to a more appropriate place.
push caching code up to os, unsure about this do to the limitations
No point in selectively enabling wireless discovery. We only discover if the device supports something.
Add RSSI, Power, and Rate.
Add these sensors for Ubnt Airos.
Clean up some copyrights.
Reduce the amount of files need to add new types.
Leave graph files for consistency and to allow customization.
Remove the old wifi clients graph completely.
ciscowlc should have improved counts (total and per-ssid)
Schema didn't get added.
Impelement the rest of the AirOS sensors
Reformat and re-organize the Airos.php class.
Add several UBNT AirFiber sensors
A few fixes add links to the section headers
Add HP MSM mibs.
* Schema file got dropped in rebase.
* Add wireless menu to view sensors across all devices.
Icons in the menu need help :/
* Add HeliOS, Mimosa, and Siklu support
Sensors added SNR + Noise
* Add power and utilization to Unifi
* Update polling to prefetch all sensor data in a few snmp requests as possible
* Add Extendair: tx+rx power, aggregate rate, frequency
* Add a check for duplicate sensors in discovery. Just print an error for now.
* Add Bit Error Ratio (named error-ratio to allow for bit error rate to be added if needed)
Fix an incorrect link in the wireless sensors table
* Add error rate and change all bps and Hz to use si units
* Fixes to limits and frequency display
* Fix overview graph frequency display
A few decimal place tweaks
* Don't allow switching sensor and wireless-sensor graphs, it doesn't work.
Change individual distance graphs to use si units
* Go through the OS and make sure I got all the sensors I can (probably missed some still)
Because pollWirelessChannelAsFrequency() is generic and a little complex, so pull it up to OS.
Message to help developers adding supports that don't return an array from discover functions.
* Fix some issues
* Remove noise and signal for now at least
A couple more fixes
Add a notification
* Oopsie
* Bonus AirFiber sensors
* update
just realized the pull script is a bad idea. not really portable. no
nfsv2 stats for centos 7+
* some php errors
* fixed v4ops
removed nfs-server.sh, as only cat /proc/net/rpc/nfsd is needed as an
extend.
* split rrd
split rrd to store and pull them seperatly
* scrutinizer-ci fix
scrutinizer-ci fix
* phpcbf
* messed up
* stuck, please ignore
* applied reviews murrant suggestions
applied reviews murrant suggestions
* dirty scope
dirty scope was the issue
* style fix ?
* style PSR2
* file handle chart
* fixed style + added documentation
* applied review tasks by murrant, thx murrant!
* applied laf's review, also added tabs in the view to reduce the amount of graphs per page
* opengridscheduler job tracker
* wrong copy of file
* applied laf's review. Thx laf!
* now including the modified files; thx laf for the review!
* Update Applications.md
* fix: AD authentication when auth_ad_base_dn is an OU
OUs don't have SID, so we can't use them to figure out the domain SID
* Only match leading OUs
* Actually, might be best to remove everything except the domain components.
* now creates a component with all the DBs in it
* add the function get_postgres_databases
* add multi DB support to the Postgres device app page
* add multi DB support to the Postgres graphs
* whoops removed the udpate bit, readd it
* white space cleanup
* now use json for storing DB names
* provide the list of DBs in a cleaner manner
* Update postgres.inc.php
* Fix the definition. Should be mef instead of mef-evc
* Added Coriant TNMS Hardware page.
* Polling and discovery modules for TNMS Network Equipements.
* SQL in one line.
* Only show when OS is coriant
* Fix conflict file
* Conflict file
* Added missing COLLATE
* Refactor poller code for more data to be inserted into DB in the future.
Removed the discovery module and merged it into poller code.
* Removed tnms-nbi discovery also in the yaml
* Removing debug
* Code updates and fixes + schema rename
* bootstrapify the code.
Renamed the sql file
* Bloody tabs !
* Add db_schema.yaml update.
* api: API allow cidr network searches of the ARP table
* Allow non-encoded / in request
I also noticed that all is allowed to be called without device, which the sql query does not support.
* Add support for custom MySQL unix-socket
* NULL must be lowercase!
* Naive edit of html/install.php
* fixup
* Refactor dbConnect
Use it everywhere
* $config needs to be global
Don't need to set $database_link
* small cleanups
* Added device discoery for Teradici PCoIP card
* Removed redundant arguments from snmp_get and comments in os definition
* Added 'workstations' as a device type
* Fix redirect on login for instances
On instances where base_url has been set for use behind a reverse proxy, logins are incorrectly redirected.
This happens because REQUEST_URI is set by the proxy:
1. librenms has base_url set to http://site.com/nms/
2. Browser requests http://site.com/nms/
3. nginx reverse proxies /nms/ to librenms at http://somehost:1234/
4. librenms sees REQUEST_URI as "/"
5. librenms logs the user in, but sends "Location: /" to the browser. This redirects to the wrong location.
To resolve, concatenate REQUEST_URI (which is relative) to base_url. As base_url is slash-terminated, crop the trailing slash. This should have no effect on users with default settings and will correctly redirect instances behind reverse proxies.
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Adding comment explaining redirect logic on login
* Use rtrim instead of substr
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Add mitsubishi logo for Sinetica UPS
* Update to SVG logos
* refactor: Moved ifLabel -> cleanPort and updated the usage
* added list of tags allowed
* few updates as per comments from @murrant
* Added simple unit tests
* double display for javascript popover
* Remove ifNameDescr() function
Fix realtime port page
* remove accidental temp code
* Remove double display calls in ajax tables
* fix: move user preferences dashboard and twofactor out of users table
This allows them to work with any authentication method
Add set_user_pref() and get_user_pref() helper functions
* fix edit users for other users
* Fix updated_at default timestamp
* Update and rename 183.sql to 184.sql
* removed commented out debug
* add get_fail2ban_jails functions
* now do component stuff for fail2ban for tracking jails
* now use get_fail2ban_jails for getting a list of jails
* readd the accidentally deleted update app bit
* white space cleanup
* Update fail2ban component code
* remove unneeded variable
* feature: bind user for active_directory auth
Optional, allows the use of "remember me", API, and alerting.
* missing global (but still may not be working)
* always return a value from reauthenticate()
* Make sure the ldapbind credentials are correct on reauth.
Do not send output if they are incorrect (use d_echo) this breaks ajax calls, etc.
Add scripts/auth_test.php, to make it easier to debug authentication.
* Refine auth_test.php a bit more
A few small cleanups in other places of the auth
* Add auth_test.php to docs
Some more improvements in the auth_test.php output.
* Update Authentication.md
* Fix height of widget boxes
This pracitcally reverts #5644 and instead applies the correct fix by
calculating the dimensions of the widget box correctly.
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Added detection for Hirschmann Railswitch
* Update AUTHORS.md
I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Fixes for PR 6207 requested changes
* Fixes for PR 6207 requested changes
* Fixes for PR 6207 requested changes
* Fix for PR 6207 requested changes
* Fix for PR 6207 requested changes
* Fix for PR 6207 requested changes (old states and temperatures directories removal)
* fix for PR 6207 : state fileupdated
* webui: improve the text alignment for tab bars
Margin tweaks no longer needed since we use font awesome icons everywhere
Add role presentation for improved accessibility
Clean up some of the permissions logic on the device page (tested)
* fix style
* fix: API call for graphs not working (#6184)
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md
* updated set_image_type to use new function
* fix: Change rfc1628 'state' (est. runtime and on battery) to runtime
* Fix up the graph error ( : in ds name).
Change seconds on battery to minutes so the value is in minutes
* wrong scale for limits
* Don't use snmp_walk