Commit Graph

8278 Commits

Author SHA1 Message Date
Simo Sorce
d5b6c83601 Detect default encsalts kadmin password change
When kadmin tries to change a password it will get the allowed keysalts
from the password policy. Failure to provide them will result in kadmin
using the defaults specified in the kdc.conf file or hardcoded defaults
(the default salt is then of type NORMAL).

This patch provides the supported values that have been read out of the
appropriate LDAP attribute when we read the server configuration.

Then at actual password change, check if kadmin is handing us back the exact
list of supported encsalts we sent it, and in that case replace it with the
real default encsalts.

Fixes https://fedorahosted.org/freeipa/ticket/4914

Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Martin Babinsky <mbabinsk@redhat.com>
2015-05-27 09:45:56 -04:00
Martin Babinsky
01fa05dd4e KRA: get the right dogtag version during server uninstall
Ensure that the correct version of dogtag is passed from API object to the KRA
uninstaller during IPA server uninstall.

https://fedorahosted.org/freeipa/ticket/4468

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-05-26 12:43:46 +00:00
Petr Vobornik
41662eb9f0 server-find and server-show commands
ipa server-find
  ipa server-show FQDN

These commands display a list of IPA servers stored in cn=masters,cn=ipa,cn=etc,$SUFFIX

https://fedorahosted.org/freeipa/ticket/4302

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-05-26 12:16:31 +00:00
Tomas Babej
f3010498af Add Domain Level feature
https://fedorahosted.org/freeipa/ticket/5018

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2015-05-26 11:59:47 +00:00
Martin Basti
9eedffdfa6 Server Upgrade: fix remove statement
If value does not exists then do not update entry. Otherwise, together with
nonexistent entry, the LDAP decode error will be raised.

https://fedorahosted.org/freeipa/ticket/4904

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-26 11:33:07 +00:00
Martin Basti
f903c2d5bf Fix: use DS socket check only for upgrade
To detect if DS server is running, use the slapd socket for upgrade, and the LDAP port
for installation.

Without enabled LDAPi socket checking doesnt work.

https://fedorahosted.org/freeipa/ticket/4904

Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
2015-05-26 11:30:15 +00:00
Ludwig Krispenz
4bcc2546d5 install part - manage topology in shared tree
https://fedorahosted.org/freeipa/ticket/4302

Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2015-05-26 10:43:50 +02:00
Ludwig Krispenz
25bf0c6e78 ds plugin - manage replication topology in the shared tree
Implementation of ticket: https://fedorahosted.org/freeipa/ticket/4302
        Design page: http://www.freeipa.org/page/V4/Manage_replication_topology

Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-26 10:40:29 +02:00
Tomas Babej
c5f319d3e8 replica-manage: Properly delete nested entries
Bad ordering of LDAP entries during replica removal resulted in a failure to
delete replica and its services from cn=masters,cn=ipa,cn=etc,$SUFFIX. This
patch enforces the correct ordering of entries resulting in proper removal of
services before the host entry itself.

https://fedorahosted.org/freeipa/ticket/5019

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-26 09:52:45 +02:00
Martin Kosek
d0a330aa1c Fix typo in ipa-server-upgrade man page 2015-05-26 07:53:44 +02:00
Martin Basti
027515230a Server Upgrade: Move code from ipa-upgradeconfig to separate module
This also prevent the script ipa-upgradeconfig execute upgrading.
Upgrade of services is called from ipa-server-upgrade

https://fedorahosted.org/freeipa/ticket/4904

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-05-25 16:34:44 +00:00
Martin Babinsky
6a4b428120 merge KRA installation machinery to a single module
This is a prerequisite to further refactoring of KRA install/uninstall
functionality in all IPA install scripts.

https://fedorahosted.org/freeipa/ticket/4468

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-05-25 16:23:32 +00:00
Alexander Bokovoy
5fd8e53f66 ipaserver/dcerpc: Ensure LSA pipe has session key before using it
With Samba 4.2 there is a bug that prevents Samba to consider Kerberos
credentials used by IPA httpd process when talking to smbd. As result,
LSA RPC connection is seen as anonymous by Samba client code and we cannot
derive session key to use for encrypting trust secrets before transmitting
them.

Additionally, rewrite of the SMB protocol support in Samba caused previously
working logic of choosing DCE RPC binding string to fail. We need to try
a different set of priorities until they fail or succeed.

Requires Samba fixes from https://bugzilla.redhat.com/show_bug.cgi?id=1219832

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1219834

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2015-05-25 16:36:43 +02:00
Endi S. Dewata
fde21adcbd Added vault plugin.
A new plugin has been added to manage vaults. Test scripts have
also been added to verify the functionality.

https://fedorahosted.org/freeipa/ticket/3872

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-05-25 06:17:09 +00:00
Petr Vobornik
5f04da35df git ignore ipaplatform/__init__.py
This file is generated in `make version-update`

added in 9f049ca144

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-22 15:58:44 +02:00
Martin Basti
c43c5d1e43 Server Upgrade: Fix: execute schema update
Accidentaly schema upgrade has not been executed.

https://fedorahosted.org/freeipa/ticket/4904

Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
2015-05-22 15:56:33 +02:00
Martin Basti
3d17bf8e63 Server Upgrade: wait until DS is ready
During server upgrade we should wait until DS is ready after restart, otherwise
connection error is raised.

Instead of 389 port, the DS socket is checked.

https://fedorahosted.org/freeipa/ticket/4904

Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
2015-05-22 15:51:05 +02:00
Martin Basti
98e4c6d6de Uid uniqueness: fix: exclude compat tree from uniqueness
Without this commit it is not possible to move user to staged area.

Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-22 15:41:41 +02:00
Jan Cholasta
454e8691cf client-install: Fix kinits with non-default Kerberos config file
https://fedorahosted.org/freeipa/ticket/4808

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-21 07:42:24 +00:00
Martin Babinsky
9d8ac395c0 do not check for directory manager password during KRA uninstall
ipa-kra-install validates and asks for directory manager password during
uninstallation phase. Since this password is never used during service
uninstall, the uninstaller will not perform these checks anymore.

https://fedorahosted.org/freeipa/ticket/5028

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-05-20 13:13:29 +00:00
Petr Vobornik
80251e772b webui: datetime widget with datepicker
Datetime widget was transform from a simple text input to 3 separate inputs:
- date with bootstrap-datepicker
- hour
- minute

e.g.:
 Validity end    [ 2015-05-18     ] [23]:[01] UTC
       Vendor    [ abc                            ]

Editation of seconds is not supported.

https://fedorahosted.org/freeipa/ticket/4347

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-20 14:36:09 +02:00
Petr Vobornik
9e3320403a webui: add boostrap-datepicker files
https://fedorahosted.org/freeipa/ticket/4347

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-20 14:36:09 +02:00
Petr Vobornik
2361ac11ad webui: option to not create user private group
Web UI wa not able to create a user without a private group.

New field added to user adder dialog to allow that.

https://fedorahosted.org/freeipa/ticket/4986

Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Ales 'alich' Marecek <amarecek@redhat.com>
2015-05-20 14:18:17 +02:00
Petr Vobornik
9b5655607d webui: fix empty table border in Firefox
Firefox suffers from: https://bugzilla.mozilla.org/show_bug.cgi?id=409254

This is a workaround to fix it.

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-05-20 14:16:42 +02:00
Petr Vobornik
7ddcff3ef7 webui: prefer search facet's deleter dialog
Deleter dialog in search facet is now chosen in order as follows:
- facet's, defined as spec, e.g.:
  deleter_dialog: { $factory: IPA.user.deleter_dialog }
- entity's, the same but it entity spec
- default, which is IPA.search_deleter_dialog

Previous didn't allow to override entity dialog with facet one and
also definition by spec was not allowed.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
99d282d38d webui: stageusers, display page elements based on user state
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
52647285f6 webui: update stageuser/user pages based on action in diffrent user search page
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
64e87d5e34 webui: extend user deleter dialog with --permanent and --preserve options
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
14525598f9 webui: stageuser plugin
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
bf7ee6eeec webui: facet policies for all facets
Now also facets other than details facet can use facet policies.

Facet policies purpose is to extend facets behavior without
overriding base class. This shared behavior could be reused in
several other facets which may have completely different
base classes.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
cae2df274a webui: allow to hide facet tabs or sidebar
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
8d8b56d135 webui: allow to replace facet tabs with sidebar
basically implementation of #4625 but atm there is no time to properly
test #4625 in the whole UI, therefore, it will be limited only to
active/stage/preserved user search page.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
435f9331c6 webui: facet groups widget
Refactoring of facet groups. This new widget has an html structure which
could be used for current facet tabs but also for PatternFly two column
layout with either accordion or nav-category
- https://www.patternfly.org/wp-content/uploads/patternfly/tests/form.html
- https://www.patternfly.org/wp-content/uploads/patternfly/tests/tab.html

Will be useful for #4625.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
3c2a8b408e webui: custom facet groups in a facet
Facets use to inherit facet groups from entity. There was no option to define
cross-entity facet groups for different facets which belong one entity.

In other words it was not possible to have 'user search' and 'stage user search'
tab in one facet group.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
17aafc36b4 webui: metadata validator min and max value overrides
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
6a2b486e50 webui: navigation: unique names on entity facet menu items
Fixes issue where it is not possible to define under the same parent:
  { entity: 'bar', facet: 'baz' }
  { entity: 'foo', facet: 'baz' }

Error reporting of invalid menu item names was improved.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
8f60139520 webui: navigation: do not remember selected childs of menu item
Remove behavior which navigated to previously selected child if navigating
to its parent.

It makes navigation more consistent.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
6bcb90ef36 webui: prefer entity fallback in menu item select
While selecting menu item based on a facet which have an entity defined,
prefer entity fallback over facet name fallback.

It solves an issue which appears when a menu item of a different entity
has the same facet name specified. In such case this menu item was selected
instead of the desired one.

E.g.: there are menu items:
  { entity: 'foo' }
  { entity: 'bar', facet: 'search'}

Showing a foo's search facet resulted in selecting
{ entity: 'bar', facet: 'search'} item.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
2be8eeb04f webui: entity menu items navigate to main entity facet
I.e. remove memory from bare entity navigation

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
ae62bd6914 webui: entity facets in facet registry
All entity facets are automatically registered as a new type in
reg.facet.

The type name is: <entity_name>_<facet_name>

The name of facets is kept same, mainly to support the same url routes.

This change allows to get facet instance by calling, e.g.:
  reg.facet.get('user_details')

It allows to make declarative links to facet which are not yet instantiated.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
de374a0d3a webui: register construction spec based on existing spec
Useful for declarative inheritance. E.g. base new facet on details
facet with all registered preops and default spec object.

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
c352616ac9 webui: declare search command options in search facet
A search facet could be defined with an option which is always applied
during entity-find command on facet refresh.

e.g.
  ipa user-find --preserved

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
69bc4f4955 webui: rename IPA.user_* to IPA.user.*
Or in other words, move all objects which belong to user module to the module.
Therefore they no longer pollutes the main 'IPA' module.

Therefore:
  require('freeipa/ipa').user == require('freeipa/user')

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Petr Vobornik
a4c0f780b7 webui: update patternfly to v1.1.4
Not all functionality is available. Mostly because IPA doesn't require them yet.

Missing: bootstrap combobox, datatables js, PF font with icons, spinner for old IEs
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
2015-05-20 14:04:10 +02:00
Martin Basti
ab69a0b1a7 Pylint: fix false positive warning for domain
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2015-05-19 19:14:58 +02:00
Martin Basti
ae9c3e2dce DNS install: extract DNS installer into one module
This is required modification to be able move to new installers.

DNS subsystem will be installed by functions in this module in each of
ipa-server-install, ipa-dns-install, ipa-replica-install install
scripts.

https://fedorahosted.org/freeipa/ticket/4468

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-05-19 14:21:31 +00:00
Martin Babinsky
5a741b614f explicitly destroy httpd service ccache file during httpinstance removal
during IPA server uninstall, the httpd service ccache is not removed from
runtime directory. This file then causes server-side client install to fail
when performing subsequent installation without rebooting/recreating runtime
directories.

This patch ensures that the old httpd ccache is explicitly destroyed during
uninstallation.

https://fedorahosted.org/freeipa/ticket/4973

Reviewed-By: David Kupka <dkupka@redhat.com>
2015-05-19 12:59:18 +00:00
Martin Babinsky
7ff7b1f533 move IPA-related http runtime directories to common subdirectory
When both 'mod_auth_kerb' and 'mod_auth_gssapi' are installed at the same
time, they use common directory for storing Apache ccache file. Uninstallation
of 'mod_auth_kerb' removes this directory leading to invalid CCache path for
httpd and authentication failure.

Using an IPA-specific directory for credential storage during apache runtime
avoids this issue.

https://fedorahosted.org/freeipa/ticket/4973

Reviewed-By: David Kupka <dkupka@redhat.com>
2015-05-19 12:59:18 +00:00
David Kupka
0167919ba8 Do not store state if CA is enabled
IPA creates own instance of CA, so there is no need to check if previous
instance was enabled, because there could not be any.

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-05-19 12:53:58 +00:00
Martin Basti
96f6d6ca09 DNSSEC: update OpenDNSSEC KASP configuration
* remove unneeded parts
* increase KSK key length to 3072
* increase KSK key lifetime to 2 years (see NIST SP 800-81-2 section 11.2)

Update is not required, as template contains just recommended values
which should by reviewed by administrators.

https://fedorahosted.org/freeipa/ticket/4657

Reviewed-By: Petr Spacek <pspacek@redhat.com>
2015-05-19 12:50:56 +00:00