4217 Commits

Author SHA1 Message Date
Eric Lippmann
db73d324de Autologin: Fix that the backend name must have been `autologin'
Before, the code validated the name of the backend instead of the `backend' directive against `autologin'.
2014-06-12 17:05:54 +02:00
Johannes Meyer
0805d73e34 Add clicommands to run unit- and style-tests
refs #6092
2014-06-12 16:29:07 +02:00
Eric Lippmann
7d2ee41f42 Autologin: Fix PHPDoc 2014-06-11 15:46:59 +02:00
Eric Lippmann
992ccf4f6d Autologin: Actually set the username upon authentication
Before, when using autologin the username of the authenticated user always was the empty string.
2014-06-11 15:46:59 +02:00
Eric Lippmann
65a2bd41bc Autologin: Do not use absolute `use' 2014-06-11 15:46:58 +02:00
Eric Lippmann
7215ba4f59 Autologin: Do not require a bogus password in the source code 2014-06-11 15:46:58 +02:00
Eric Lippmann
63fc8eb27e Autologin: Use REMOTE_USER for authentication
It's not safe to rely on PHP_AUTH_USER and PHP_AUTH_TYPE because
PHP cgi handlers (fgcid for example) only set the REMOTE_USER environment variable
and the authentication type for negogiation methods (Kerberos for example) is neither
Basic nor Digest.
We may have to add REDIRECT_REMOTE_USER for authentication for proxy setups.
2014-06-11 15:46:58 +02:00
Eric Lippmann
c09341d77e Autologin: Do NOT sanitize username
I don't know the reason why this was done initially but a username must not be changed.
2014-06-11 15:46:58 +02:00
Matthias Jentsch
c42c7977be Call extended backend health checks when creating ldap authentication backends
fixes #6457
2014-06-11 15:09:36 +02:00
Matthias Jentsch
6c82cb8988 Check ldap backend health during Authentication
Check if authentication is possible during authentication, to generate more
useful error and log messages, in case the backend configuration is wrong

ref #6457
2014-06-11 15:08:05 +02:00
Matthias Jentsch
bca166c644 Do not throw an exception when the username does not exist
refs #6457
2014-06-11 15:08:05 +02:00
Johannes Meyer
159d765f14 Fix that calling ActionController::translate() throws an exception
Translating strings must not throw an exception
even if the given domain is not valid.

fixes #6432
2014-06-11 13:39:22 +02:00
Matthias Jentsch
305a025e7a Detect ldap default naming context
Read the entries in the RootDTS of the given ldap server, to discover
its default naming context and capabilities

refs #6097
refs #6096
2014-06-06 18:18:58 +02:00
Matthias Jentsch
efe67377a8 Move dns discovery functions into separate class
Add functions to lookup and reverse-lookup domain names and move the ldap
discovery function into a separate class

refs #6093
2014-06-06 17:49:55 +02:00
Matthias Jentsch
953d22244a Add host discovery to authentication page
Find all domains for a given hostname.

refs #6093

Conflicts:

	application/forms/Install/AuthenticationPage.php
2014-06-06 17:49:55 +02:00
Marius Hein
06296f29d8 UI/Sparklines: Change sparkline code to serverside only
fixes #6124
2014-06-06 16:35:33 +02:00
Eric Lippmann
160a75403d Merge branch 'master' into feature/display-documentation-4820
Conflicts:
	modules/doc/library/Doc/DocParser.php
2014-06-06 14:25:13 +02:00
Eric Lippmann
6c8d35c667 lib: Add a not yet customizable node renderer 2014-06-06 13:58:40 +02:00
Eric Lippmann
ce0aee5e41 lib: Add Data/Tree/Node.php 2014-06-06 13:58:14 +02:00
Eric Lippmann
d84532d593 lib: Remove TreeIterator
Nodes implementing the NodeInterface (which extends the RecursiveIterator interface)
are already iterable.
2014-06-06 13:57:18 +02:00
Eric Lippmann
794ae141fa lib: Let NodeInterface extend RecursiveIterator
Since a node may have children and they should be iterable, the Nodefinterface
now extends RecursiveIterator.
2014-06-06 13:55:58 +02:00
Thomas Gelf
e01629fe0b ActionController: fix initial redirect
refs #6419
2014-06-06 08:32:21 +00:00
Thomas Gelf
1e9bc6c7d4 Data\PivotTable: should work with new queries
There is still some work to do be done here. And we should/could
rethink columns() VS getColumns().
2014-06-06 06:47:49 +00:00
Thomas Gelf
db3accc704 Data\Db: rename Query and Connection to Db...
Class names in namespaces should not be chosen as once we didn't have
such. The fact that we already did "use Db\Connection as DbConnection"
is the best hint that naming was wrong.

So this patch renames Db\Connection to Db\DbConnection and does the
same with DbQuery. DbQuery has been adjusted to fit our new SimpleQuery
and to handle the new Filter implementation.
2014-06-06 06:43:13 +00:00
Thomas Gelf
1fbca25d99 Data\DataArray: use SimpleQuery and new interfaces
Removed ArrayQuery implementation as SimpleQuery is enough here.
Renamed the Datasource class to ArrayDatasource.

refs #6418
2014-06-06 06:21:35 +00:00
Thomas Gelf
31047e8082 Data\SimpleQuery: concrete implementation
SimpleQuery is no longer abstract, implements the Filterable interface
and should now be usable as a basic Query implemenation as is.
2014-06-06 06:12:17 +00:00
Thomas Gelf
85605597cc Data/interfaces: add Filterable, extend Connection
New interface ConnectionInterface attempts to aggregate things.
Extended Filterable interface, added Filter-related functions. Please
note that apply will probably get dropped later on, I'll keep it for
compatibility reasons right now.

refs #6418
2014-06-06 06:07:33 +00:00
Thomas Gelf
f438cb30e1 Data\Filter: initial commit basic implementation
Basic operators are there, still missing: subclassed "where" to distinct
comparison operators like greater/less than on a class level.

refs #6418
2014-06-06 06:04:24 +00:00
Thomas Gelf
d44a87717d Data\SimpleQuery: implement column handling
We want SimpleQuery to be able to run standalone
2014-06-06 05:49:39 +00:00
Thomas Gelf
4b8e09b12a Data\SimpleQuery: get front controller without ZF 2014-06-06 05:48:29 +00:00
Thomas Gelf
bfe6a1593a Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-06-06 05:32:54 +00:00
Marius Hein
20b43a92f1 Dashboard: Better implementation of handling errors
refs #6412
2014-06-05 16:07:40 +02:00
Marius Hein
151f058286 Dashboard: Display error message on failure
When no (default) configuration is available for dashboards
application dies not very gracefully. Display error message
and guid the user to the solution is a better way.

fixes #6412
2014-06-05 15:20:54 +02:00
Thomas Gelf
1b3bb6cade Web\Url: add getQueryString() and without() 2014-06-05 03:44:12 +00:00
Thomas Gelf
99aae5a0d9 JS/XHR: get ready to get XHR redirect-aware
These are just the first steps, there is more to come
2014-06-05 03:37:36 +00:00
Thomas Gelf
c592236258 vendorlibs: library/vendor to libary/IcingaVendor
This doesn't make it much better but allows to build a package
libicinga-vendor-php placing those files to /usr/share/php/IcingaVendor
or similar.

refs #4075
2014-06-05 00:10:49 +00:00
Thomas Gelf
8df26bb5f5 bootstrapping: add a dispatchModule() shortcut
This allows to easily jump into a specific modules CLI controllers.

refs #6411
2014-06-04 23:39:12 +00:00
Thomas Gelf
4202e34d13 bootstrapping: play nice with duplicate modules
A module loaded manually could also exist in the list of enabled
modules if a configuration is given and a module with the same name
has been enabled. This used to confuse documentation.
2014-06-04 23:37:36 +00:00
Thomas Gelf
bdcec5a253 Cli\Loader: allow injecting a module name
This helps those who prefer to create their own executables instead
of creating icingacli subcommands.

refs #6411
2014-06-04 23:04:11 +00:00
Thomas Gelf
eadb6cb518 bootstrapping: allow to retrieve a modules base...
...directory if it has been loaded but neither enabled nor installed.

refs #6411
2014-06-04 22:59:48 +00:00
Thomas Gelf
0e6aecbd43 bootstrapping: allow to load modules neither...
...enabled nor installed by passing their base directory. In favour
of this parameter I dropped the possibility to inject a Module class
for testing purposes. There is no such test and I see no point in
doing so.

refs #6411
2014-06-04 22:57:50 +00:00
Thomas Gelf
e076d2d1d6 bootstrapping: create only one CLI loader instance
This used to work fine as long as you didn't try to interfere from
outside to influence the cli loader. The instance returned by
cliLoader() was not the same as used internally once dispatching the
CLI command.

refs #6411
2014-06-04 22:52:38 +00:00
Thomas Gelf
a221afd933 bootstrapping: autoloader exceptions should not...
...require to be autoloaded.

refs #6411
2014-06-04 22:50:08 +00:00
Thomas Gelf
602b448505 bootstrapping: only web should depend on forms
This fixes the problem that CLI scripts or other applications without
an application directory would badly fail because of missing web forms.

refs #6411
2014-06-04 22:46:16 +00:00
Thomas Gelf
bdc3423d4e packaging/config: allow to override APPDIR
It is now possible to either define ICINGAWEB_APPDIR in an Environment
variable or to define it as a PHP constant before bootstrapping.

fixes #6400
2014-06-04 21:22:29 +00:00
Thomas Gelf
55880cb5a3 packaging/config: rename ICINGA_APPDIR
Renamed ICINGA_APPDIR to ICINGAWEB_APPDIR for consistency. This way
it fits ICINGAWEB_CONFIGDIR.

refs #6400
2014-06-04 21:11:27 +00:00
Thomas Gelf
e992f152bb packaging/configuration: get rid of _ENV
We should use _SERVER for our settings as it works fine on CLI and
for web servers.

refs #6400
2014-06-04 21:08:49 +00:00
Marius Hein
29f593a357 Authentication: Add backend to handle external authentication
Drop external auth configuration from config.ini and move
implementation into a single backend provider named
'autologin'. This provider can strip realm names from
username with a custom regexp.

fixes #6081
2014-06-03 17:59:22 +02:00
Marius Hein
a0459d0172 ExternalAuthentication: Move authenticationMode to config.ini
fixes #6214
2014-06-03 15:26:15 +02:00
Marius Hein
160a95e32d Bootstrap/Web: Only load authentication.ini if needed
fixes #6238
2014-06-03 14:16:01 +02:00