Commit Graph

1340 Commits

Author SHA1 Message Date
Petr Voborník
2755709f2e Removed question marks from field labels
In user group adder dialog, the "Is this a POSIX group?" was replaced with "POSIX group".
In host search facet, the "Enrolled?" was replaced with "Enrolled".

https://fedorahosted.org/freeipa/ticket/2353
2012-02-14 08:35:49 -06:00
Petr Vobornik
7e02cb8aec Fixed entity link disabling
Problem:
Entity link (eg: to hosts in dns record or to dns record in host) is not changing its state when linked record doesn't exist. The link can remain wrongly enabled from previous state.

Fixed:
The link is disabled when target doesn't exist.

https://fedorahosted.org/freeipa/ticket/2364
2012-02-14 08:35:41 -06:00
Endi S. Dewata
eba3a341e6 Fixed ipa.js for sessions.
The patch fixes a problem in error_handler_login() when it gets
an error other than 401.

The login_url is not needed for fixtures because it does not need
authentication.

The patch also fixes jslint warnings and formatting issues.
2012-02-09 13:21:12 -06:00
John Dennis
bba4ccb3a0 add session manager and cache krb auth
This patch adds a session manager and support for caching
authentication in the session. Major elements of the patch are:

* Add a session manager to support cookie based sessions which
  stores session data in a memcached entry.

* Add ipalib/krb_utils.py which contains functions to parse ccache
  names, format principals, format KRB timestamps, and a KRB_CCache
  class which reads ccache entry and allows one to extract information
  such as the principal, credentials, credential timestamps, etc.

* Move krb constants defined in ipalib/rpc.py to ipa_krb_utils.py so
  that all kerberos items are co-located.

* Modify javascript in ipa.js so that the IPA.command() RPC call
  checks for authentication needed error response and if it receives
  it sends a GET request to /ipa/login URL to refresh credentials.

* Add session_auth_duration config item to constants.py, used to
  configure how long a session remains valid.

* Add parse_time_duration utility to ipalib/util.py. Used to parse the
  session_auth_duration config item.

* Update the default.conf.5 man page to document session_auth_duration
  config item (also added documentation for log_manager config items
  which had been inadvertantly omitted from a previous commit).

* Add SessionError object to ipalib/errors.py

* Move Kerberos protection in Apache config from /ipa to /ipa/xml and
  /ipa/login

* Add SessionCCache class to session.py to manage temporary Kerberos
  ccache file in effect for the duration of an RPC command.

* Adds a krblogin plugin used to implement the /ipa/login
  handler. login handler sets the session expiration time, currently
  60 minutes or the expiration of the TGT, whichever is shorter. It
  also copies the ccache provied by mod_auth_kerb into the session
  data.  The json handler will later extract and validate the ccache
  belonging to the session.

* Refactored the WSGI handlers so that json and xlmrpc could have
  independent behavior, this also moves where create and destroy
  context occurs, now done in the individual handler rather than the
  parent class.

* The json handler now looks up the session data, validates the ccache
  bound to the session, if it's expired replies with authenicated
  needed error.

* Add documentation to session.py. Fully documents the entire process,
  got questions, read the doc.

* Add exclusions to make-lint as needed.
2012-02-09 13:20:45 -06:00
John Dennis
d1e0c1b606 Add ipa_memcached service
* Adds ipa_memcached SystemV initscript

* Adds ipa_memcached service file and tmpfiles.d/ipa.conf
  to recreate /var/run/ipa_memcached on reboot.

* Adds ipa_memcached config file

* Adds memcacheinstnace.py to manage ipa_memcaced as
  as SimpleService object.

* Updates the IPA service list to include ipa_memcached,
  at service positon 39, httpd is position 40

* Updates the spec file:
  - requires the memcached daemon and python client
  - installs service or initscripts depending on OS
  - installs config file
  - creates /var/run/ipa_memcached directory

* Modifies ipa-server-install to install ipa_memcached
2012-02-09 13:20:28 -06:00
Adam Young
a2cc9b4282 Remove delegation from browser config 2012-02-07 15:51:44 +01:00
Martin Kosek
13cdf51ab4 Remove unused options from ipa-managed-entries
ipa-managed-entries contain auto-generated options that are not
used in the script and may just confuse users. Remove them.

https://fedorahosted.org/freeipa/ticket/2347
2012-02-07 12:01:02 +01:00
Petr Viktorin
5362b0b566 Fix/add options in ipa-managed-entries man page
* The --entry option was wrongly listed as --entries; fix that.
  https://fedorahosted.org/freeipa/ticket/2277

* Add the --help option
2012-02-07 09:56:20 +01:00
Petr Voborník
cbd77cae0a Automember UI - Fixed I18n labels
Hard-coded labels in Automember UI have been moved into internal.py to
allow translation.

https://fedorahosted.org/freeipa/ticket/2195
2012-02-07 00:48:10 -06:00
Petr Voborník
fccea2dca4 Automember UI - default groups
In this patch was implemented and added a control for defining default automember groups.

There is a difference from UXD spec. In the spec the control was placed below table in the search facet. This was not working well with the combobox in the control. Open combobox requires some space below it. As it was placed at the bottom of the page it created unwanted blank space and forced showing scrollbars. Moving the control above the table solves the problem without rewriting combobox logic. It can be rewritten and moved down later.

https://fedorahosted.org/freeipa/ticket/2195
2012-02-07 00:48:07 -06:00
Ondrej Hamada
2e860f6d07 Fix 'no-reverse' option description
The description of 'no-reverse' option was fixed in both code and
manpages of ipa-replica-install and ipa-dns-install.

https://fedorahosted.org/freeipa/ticket/2161
2012-02-02 17:50:55 -05:00
Petr Voborník
199d6815d4 Automember UI
New UI for automember.

Implemented:
 * search facet core
 * rule details facet
 * attribute_table_widget - new base class for tables which contains multivalued attribute with special add/remove commands
 * adding/removing conditions in details facet

TODO:
 * label translations
 * UI for defining default rules

https://fedorahosted.org/freeipa/ticket/2195
2012-02-01 12:47:46 -06:00
Petr Voborník
c00267308e Navigation and redirection to various facets
In current implementation target facet of navigation(from menu) and redirection is always one exact facet per entity. There isn't a way to navigate to different facet from menu or redirect to different facets from various facets.

This patch adds:
 * possibility to define menu items which can navigate to different facets of various entities. This also means that now current menu tree can contain leafs with the same entity.
 * possibility to define redirection target per facet - it is needed to keep breadcrumb navigation consistent with various navigation tree patch leading to same entity leafs.

This functionality is needed for Automember UI. Automember UI is designed as if it was for two entities but it is in fact only one.

https://fedorahosted.org/freeipa/ticket/2195
2012-02-01 12:47:42 -06:00
Endi Sukma Dewata
b73fc6e550 Show password expiration date.
The user details page was modified to show the password expiration
date next to the existing password field.

Fixed problem resetting password in self-service mode. The JSON
interface for the passwd command requires the username to be
specified although the equivalent CLI command doesn't require it.

Ticket #2064
2012-02-01 15:51:50 +01:00
Endi Sukma Dewata
77f0e9aba5 Use fixed font when displaying certificate.
The textareas used to display certificates were modified to use
fixed font.

Ticket #2017
2012-02-01 15:51:31 +01:00
Endi Sukma Dewata
0c4500738b Hide Add/Delete buttons in self-service mode.
Users do not have add/delete permission in self-service mode, so
the search facet was modified to hide the Add/Delete buttons.

Ticket #2188
2012-02-01 15:51:21 +01:00
Endi Sukma Dewata
ea9d5e6f9a Added icons for status column.
The status formatter was modified to show enabled/disabled icon
before the status text.

The format classes were renamed to formatter to avoid confusion
with the format() method. A new parameter 'type' was added to the
formatter to determine the output type (e.g. text/html).

Ticket #1996
2012-02-01 15:51:10 +01:00
Endi Sukma Dewata
6bd2f5ba35 Fixed host managed-by adder dialog.
The host managed-by adder dialog has been fixed to use the new
--not-man-hosts option to filter out hosts that are already added.

Ticket #1675
2012-01-31 08:40:00 -06:00
Petr Voborník
191f05e477 Added paging to DNS record search facet
Paging in DNS record search facet was disabled because there was a mismatch between primary keys sent by server and values displayed in the facet.

The facet was modified to enable paging. To preserve amount of information which was displayed before, current rows have variable height - they can contain more that one line depending on number of values in the record. Each record has a checkbox and indsname in its first line to distinguish one record from others. Because there is only one checkbox for record, delete command is called with --rem-all option which causes that entire record is removed. Individual values can be deleted in record's details facet.

https://fedorahosted.org/freeipa/ticket/2094
2012-01-31 08:39:12 -06:00
Petr Voborník
1f3d8003f7 Modifying DNS UI to benefit from new DNS API
DNS UI was modified to offer structured way of defining DNS records.

https://fedorahosted.org/freeipa/ticket/2208
2012-01-30 17:47:07 -06:00
Petr Voborník
71f9343480 Added refresh button for UI
Web UI is caching records. Currently only possible ways how to display updated record which was changed elsewhere - ie. in CLI are:
 * refresh page in browser (takes really long on slow vpns)
 * search facet: change filter, find, change filter back, find
 * entity details: go to search, select other entry, go back to search, select original entry
 * association facet: same as entity details

These are unconvenient methods.

This patch adds Refresh button to search, details and association facet. This button executes facets refresh method.

https://fedorahosted.org/freeipa/ticket/2051
2012-01-30 17:46:57 -06:00
Rob Crittenden
7a1399bee1 Check for the existence of a replication agreement before deleting it.
When using ipa-replica-manage or ipa-csreplica-manage to delete an
agreement with a host we would try to make a connection to that host
prior to tryign to delete it. This meant that the trying to delete
a host we don't have an agreement with would return a connection
error instead of a "no agreement with host foo" error.

Also display a completed message when an agreement is removed.

https://fedorahosted.org/freeipa/ticket/2048
https://fedorahosted.org/freeipa/ticket/2125
2012-01-30 17:27:55 +01:00
Martin Kosek
6141919fba Fix ipa-server-install for dual NICs
A server may have 2 or more NICs and its hostname may thus resolve
to 2 and more forward addresses. IP address checks in install
scripts does not expect this setup and may fail or crash.

This script adds a support for multiple forward addresses for
a hostname. The install scripts do not crash now. When one IP
address is needed, user is asked to choose from all detected
server IP addresses.

https://fedorahosted.org/freeipa/ticket/2154
2012-01-22 23:01:42 -05:00
Rob Crittenden
f3b606b627 Update and package ipa-upgradeconfig man page.
Require that the tool be run as root to avoid a permission-related
backtrace.

https://fedorahosted.org/freeipa/ticket/1758
2012-01-23 16:07:49 +01:00
Endi Sukma Dewata
b353239e59 Fixed inconsistent status labels.
This patch modifies the status attributes in users, DNS zones,
HBAC/sudo rules, HBAC test, and SELinux User Map to use the same
label (i.e. Status) and values (i.e. Enabled/Disabled). The method
to change the status will be modified separately.

Ticket #2247
2012-01-23 15:38:41 +01:00
Endi Sukma Dewata
fef343ae8f Show disabled entries in gray.
The users, HBAC/sudo rules, HBAC test, and SELinux list pages have
been modified to show disabled entries in gray. Icons will be added
separately.

Ticket #1996
2012-01-23 15:38:35 +01:00
Endi Sukma Dewata
7c0c39581c Enabled paging on automount keys.
The automount keys search facet has been modified to support paging.
Since the automountkey-find command doesn't support --pkey-only
option, the facet is configured such that during a refresh operation
it will retrieve all entries (including the key and info attributes)
and then display only the ones that are supposed to be visible in
the current page.

Ticket #2093
2012-01-23 15:38:25 +01:00
Petr Voborník
d906fa50c1 UI for SELinux user mapping
This patch adds UI for SELinux user mapping. Its design is based on HBAC Rule design.

https://fedorahosted.org/freeipa/ticket/2145
2012-01-18 17:08:46 +01:00
Rob Crittenden
c9c72d1b1a Use correct template variable for hosts, FQDN.
https://fedorahosted.org/freeipa/ticket/2268
2012-01-17 17:51:12 +01:00
Endi Sukma Dewata
7529a79f4b Enabled paging on self-service permissions and delegations.
Paging has been enabled on self-service permissions and delegations
list pages. The search facet's get_pkeys() has been fixed to handle
non-array value. New test data files have been added as well.

Ticket #2092
2012-01-16 20:11:18 +01:00
Endi Sukma Dewata
3bfd49a465 Fixed problem removing automount keys and DNS records.
Due to a recent change the deleting automount keys and DNS records no
longer worked. The functions that are supposed to get the selected
values has been fixed to use the correct names and element type. They
also have been converted into methods of the search facets.

Ticket #2256
2012-01-16 12:24:22 +01:00
Endi Sukma Dewata
f56f8a34d3 Added instructions to generate CSR.
The certificate request dialog box has been modified to show
the OpenSSL commands for generating a CSR.

The realm and entry names in the test data have been fixed to
be more consistent.

Ticket #1012
2012-01-13 10:57:59 -06:00
Simo Sorce
0d3cd4c384 Fix replication setup
Changes to add a cs-replication management tool mistakenly always set a flag
that caused replicas to not add the list of attribute we exclude from
replication.
2012-01-13 10:22:38 -05:00
Martin Kosek
95f3ec5d70 Let replicas install without DNS
Let ipa-replica-prepare and ipa-replica-install work without
proper DNS records as records in /etc/hosts are sufficient for
DS replication.

  1) ipa-replica-prepare now just checks if the replica hostname
     is resolvable (DNS records are not required). It is now able
     to prepare a replica file even when the replica IP address is
     present in /etc/hosts only.
  2) ipa-replica-install is now able to proceed when the hostname
     is not resolvable. It uses an IP address passed in a new
     option --ip-address to create a record in /etc/hosts in the
     same way as ipa-server-install does.

https://fedorahosted.org/freeipa/ticket/2139
2012-01-13 09:11:05 +01:00
Martin Kosek
bc5085699d Fix LDAP updates in ipa-replica-install
ipalib API needs to be bootstrapped in 'installer' context otherwise
LDAP update plugins don't get initialized and ipa-replica-install
crashes.

https://fedorahosted.org/freeipa/ticket/2139
2012-01-13 09:10:58 +01:00
Martin Kosek
649d13b597 Prevent service restart failures in ipa-replica-install
Call restart() methods of appropriate services instead of calling
the system service restart command directly as service() method
has a capability to wait until the service is fully up. Without
this patch ipa-replica-install crashed on F-16 because krb5kdc
service was started before dirsrv service was fully up.

https://fedorahosted.org/freeipa/ticket/2139
2012-01-13 09:10:54 +01:00
Rob Crittenden
638a970172 Catch exception when trying to list missing managed entries definitions
On the off chance that the definitions cannot be found we should
catch the error and not raise a backtrace.

https://fedorahosted.org/freeipa/ticket/1912
2012-01-12 05:46:13 -05:00
Rob Crittenden
c08296adff Configure s4u2proxy during installation.
This creates a new container, cn=s4u2proxy,cn=etc,$SUFFIX

Within that container we control which services are allowed to
delegate tickets for other services. Right now that is limited
from the IPA HTTP to ldap services.

Requires a version of mod_auth_kerb that supports s4u2proxy

https://fedorahosted.org/freeipa/ticket/1098
2012-01-10 22:39:26 -05:00
Petr Vobornik
74857a8ee4 Added IP address validator to Host and DNS record adder dialog
Also fixed minor issues reagarding IP addresses or multivalued field:
 - removed unnecessary method overrides from multivalued_field
 - fixed extract_child_value method in multivalued_widget to return '' instead of empty arrays when value array is empty
 - net.js - changed method name and error message from 'trailing zeros' to 'leading zeros'

https://fedorahosted.org/freeipa/ticket/1466
2012-01-11 00:48:44 -06:00
Petr Vobornik
05345ce8c8 Added support for memberof attribute in permission
The attribute was added to adder dialog and details facet. It uses entity select (group) widget.

https://fedorahosted.org/freeipa/ticket/2101
2012-01-11 00:48:36 -06:00
Endi Sukma Dewata
9dff149830 Load user data and policies in a single batch.
The user details facet has been modified to load the user data,
password policy and Kerberos ticket policy in a single batch
command.

Ticket #703
2012-01-10 18:44:35 +01:00
Endi Sukma Dewata
74e31cd985 Added policies into user details page.
The user details page has been modified to show the password policy
and Kerberos ticket policy that apply to the user. The policies are
currently displayed as read-only.

Ticket #703
2012-01-10 18:42:26 +01:00
Endi Sukma Dewata
2a00393712 Added account status into user search facet.
The user search facet has been modified to show the account status.
The IPA.boolean_format has been converted into a class to allow
behavior customization.

Ticket #1996
2012-01-06 15:25:43 +01:00
Martin Kosek
d0648f1fd4 Add DNS check to conncheck port probe
It is pointless to report failures for all checked ports when the
target hostname is not resolvable - user may get easily confused.
This patch changes this behavior so that conncheck fails with
a proper error and does not even continue to port probing part.

https://fedorahosted.org/freeipa/ticket/1984
2012-01-03 16:41:15 -05:00
John Dennis
a071257ed2 update i18n pot file for branch master 2012-01-03 16:36:34 -05:00
Petr Vobornik
ceee08faa1 Fixed IPv6 validation special case: single colon
IPv6 parsing was incorrectly evaluating ':' as a valid IPv6 address.

https://fedorahosted.org/freeipa/ticket/1466
2012-01-03 21:28:53 -06:00
Petr Vobornik
c7ae0c20db Added client-side validation of A and AAAA DNS records
https://fedorahosted.org/freeipa/ticket/1466
2012-01-03 21:28:49 -06:00
Petr Vobornik
911f396604 Added validation logic to multivalued text field
https://fedorahosted.org/freeipa/ticket/1466
2012-01-03 21:28:45 -06:00
Petr Vobornik
747c069c45 Added support of custom field validators
Current validation logic supports only validation based on metadata. It can be extended only by overriding field's validation method. This approach requires creating subclasses of field for each different format of desired value. It's inconvenient for cases like adding the same validation logic to two different subclasses of field.

This patch is adding support for creating custom validators.

Validator is an object which contains validation logic. Validation is executed in a validate(value, context) method. This method checks if the value is valid and returns a validation result. Validation result is a simple object which contains valid property and an error message if valid is false.

Field is extended by validators property. It can be set in spec object or later. It should contain instances of validators for the field. Validators are run in field's validation method.

This patch is a prerequisite for:
https://fedorahosted.org/freeipa/ticket/1466
2012-01-03 21:28:41 -06:00
Endi Sukma Dewata
46d3abc450 Reload UI on server upgrade.
The JSON server has been modified to return the version number
in all responses. The UI has been modified to keep the version
obtained during env operation and check the version returned
in subsequent operations. If the version changes the UI will
reload itself.

Ticket #946
2011-12-21 13:23:08 -06:00