24 Commits

Author SHA1 Message Date
Tony Murray
a2e33efba8 Use PDO for MySQL queries (#8935)
Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok

TODO
- [x] IRC client broke
- [x] Install broke

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-08-17 21:29:20 +01:00
Tony Murray
d841625f12 refactor: Refactor database and config init (#8527)
* Refactor database and config init
Connect to the database without loading full config
Load config completely so post-processing is always done consistently.
Erase existing $config when loading, fixes issues in case we load the config twice.
If the database is not connected, don't try to load database settings. (Fixes some db errors on install)
Attempt to remove $config access/modification before init.php
Remove usage of db_name, that might not match the connected database.
Centralize db config loading, so we consistently apply db_test database settings.
Many of these changes are influenced by Laravel port.

* Some safety so we don't assign strings to numeric port field
Smooth out phpunit bootstrap

* Fix a couple of scrutinizer warnings.
2018-04-11 16:15:13 +01:00
Arzhel Younsi
7eda8d9989 feature: Added a irc_alert_short option to only send the alert title (#8312)
* Add a irc_alert_short option to only send the alert title

* Add doc for 'irc_alert_short'
2018-03-02 17:52:47 +00:00
Tony Murray
cdf5b05934 Replace usages of array_combine() that match array_by_column() (#7863)
Also, fix up some usages where just array_column() will do.
2017-12-06 08:19:29 +00:00
mcq8
c9728a1f71 refactor: Refactored authorizers to classes (#7497)
* Refactored authorizers to classes

* Merge changes for #7335

* ! fix php 5.3 incompatibility

* Update ADAuthorizationAuthorizer.php

* Fix get_user -> getUser

* Rename AuthorizerFactory to Auth, fix interface missing functions

* Add phpdocs to all interface methods and normalize the names a bit.

* Re-work auth_test.php AD bind tests to work properly with the new class.
Reflection is not the nicest tool, but I think it is appropriate here.
Handle exceptions more nicely in auth_test.php

* Restore AD getUseList fix

Not sure how it got removed

* fix auth_test.php style
2017-11-18 10:33:03 +00:00
Tony Murray
44cb59d54e refactor: Rewrite a bit of the irc bot (#7667)
also, use the appropriate dbFetchCell()
2017-11-07 20:30:59 +00:00
zapotah
fcbd3a0dff Fix ".status services" to show properly possible status codes (#7663)
* Fix ".status services" to show properly possible status codes

Nagios plugins return 0-3 as the status-code for a check. This adds "warning" and "unknown" to the output as well as hierarchical color for the total.

* Fix ".status services" to show properly possible status codes

Nagios plugins return 0-3 as the status-code for a check. This adds "warning" and "unknown" to the output as well as hierarchical color for the total.
2017-11-07 09:19:18 -06:00
zapotah
ad739252a2 fix: Fixed status services up/down inverse values for IRC Bot (#7657) 2017-11-06 22:11:36 +00:00
Tony Murray
51ba934e11 feature: Added web validation (#7474)
* refactor: convert validations to modules to prep for gui integration

* accidentally dropped, schema update

* fix accidental output to webui

* mention discovery-wrapper.py and re-arrange.

* refine some fix statements

* rename the Config validation group to Configuration.

* fix some scrutinizer issues
remove as many local functions from validator.php as possible
move extensions from pre-check
remove duplicate timezone check
looks like there is some db schema differences between mariadb 10.1 and 10.2, investigating

* mariadb version diff take2

* Check schema version first for database.
Remove stop to go back to command line for install docs.
Add helpful link when there is no devices added to /addhost

* fix incorrect validation for empty string defaults

* Fix style

* Add additional file permissions checks

* catch exception and fail for invalid timezone
Change visuals a bit.

* add php version warning

* fix space
2017-10-26 07:56:09 +01:00
Olen
3dd6628101 alerts: Updated Irc transport to use templates (#6758)
* Use templates also for irc-alerts

* Remove old code

* Make messages to admins (nicks) use the templates as well

* Added a "strip_tags" to remove html-tags from the irc-messages
2017-06-08 19:26:24 +01:00
Olen
4b15713f69 fix: a few issues with colors (take two) (#6787) 2017-06-06 06:42:49 -05:00
Olen
127c4b84bd feature: Added Irc ctcp support to IRCBot (#6766)
* Handle basic CTCP-support

* Add an option to toggle ctcp on and off in the config

* Fix whitespace-issue

* Fix null/NULL

* Updating docs, default config and fixing a few whitespace-issues

* Fixing the last whitespace-issues.  Now with "pre-commit.php" as a standard...
2017-06-05 22:45:18 +01:00
Olen
c8e3738fbb feature: Added support for nick conflicts + reload losing install_dir path (#6775)
* Generating random nick on conflict, and trying to regain our original nick when it gets available

* Also fixes a bug where $config['install_dir'] gets lost on .reload

* ...And adding a few QUIT-messages for brewity
2017-06-03 12:39:20 +01:00
Olen
43e135ee03 feature: Added Irc host authentication for irc-bot (#6757)
* Allow irc-users to be authenticated by hostmask i config.php

* Fix some whitespace and a small typo

* Refactored the code a bit. Checking if user is already authd before matching on hostmask

* Updating docs

* Add missing " to docs
2017-06-02 21:27:29 +01:00
Olen
d4bd4b8862 feature: Added some more coloring and make it easier to colorize messages for irc bot (#6759)
* Add some more coloring and make it easier to colorize messages

* Refactor "_color"-function

* Fix missing )

* Use _color() also in alerts

* Fix some standard-errors
2017-06-02 20:07:09 +01:00
Olen
7984696281 fix: ircbot - reformatted strikethrough for recovered alerts (#6756) 2017-05-31 09:05:06 -05:00
Tony Murray
b1a414e785 feature: support non-standard unix socket (#5724)
* 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
2017-04-06 22:02:37 +01:00
David Bell
5dd030f438 refactor: Added config option for database port (#5517) 2017-01-27 23:16:04 +00:00
Neil Lathwood
c3140218b3 fix: Fix irc bot user level (#4833) 2016-10-20 17:53:49 +00:00
Neil Lathwood
9e85f24b00 fix: Make irc bot to use authentication module for user info (#4372) 2016-09-12 11:24:22 -05:00
deutor
50a02a0fc5 refactor: IRC bot .version response (#4355)
* IRCbot more verbose .version response

* Using local_sha instead of git call

* Corrected substr starting position
2016-09-07 07:33:24 +01:00
deutor
7afbb6455f feature: IRCBot re-connection back-off (#4322) 2016-09-03 08:54:37 -05:00
Tony Murray
abc6a5b799 PSR-2 Final cleanup (#4247)
refactor: Final PSR2 cleanup
2016-08-28 23:32:55 +01:00
Tony Murray
aadd627863 Move IRCBot class to LibreNMS namespace. (#4246)
refactor: Moved IRCBot class to LibreNMS namespace #4246
2016-08-28 21:53:52 +01:00