Commit Graph

1254 Commits

Author SHA1 Message Date
Sumit Bose
edb6ed5007 Add ipasam samba passdb backend
https://fedorahosted.org/freeipa/ticket/1874
2011-12-06 08:29:53 -05:00
Sumit Bose
7c3e5f1be5 Fix some pylint warnings 2011-12-06 08:29:53 -05:00
Sumit Bose
2d355da9e2 Add trust objectclass and attributes to v3 schema 2011-12-06 08:29:53 -05:00
Petr Vobornik
1ffbec9942 Removed usage of bitwise assignment operators in logical operations
JavaScript &= and |= are bitwise operators. They are shortened version of:
 foo = foo & bar
 foo = foo | bar

In some places they were used as shortened version of logical operation and assignment.
 foo = foo && bar

It lead to type conversion to Number which is wrong (0 !== false).

This patch replaces such occurances with full version of logical operation and asignment.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:02:11 +00:00
Petr Vobornik
c5ca34f41d Fixed unit tests after widget refactoring
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:02:01 +00:00
Petr Vobornik
2759ea2961 Modifying automount to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:56 +00:00
Petr Vobornik
9a09916108 Changing definition of basic fields in section from factory to type
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:50 +00:00
Petr Vobornik
ab667912cf Code cleanup of HBAC, Sudo rules
https://fedorahosted.org/freeipa/ticket/1515
2011-12-05 16:01:44 +00:00
Petr Vobornik
fdee0892f1 Modifying groups to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:38 +00:00
Petr Vobornik
a902fa4647 Modifying ACI to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:33 +00:00
Petr Vobornik
6e3a21a115 Separation of writable update from field load method 2011-12-05 16:01:29 +00:00
Petr Vobornik
e271e80f7d Modifying services to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:24 +00:00
Petr Vobornik
fcba1cb216 Modifying dns to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:17 +00:00
Petr Vobornik
9b362ce6e1 Modifying hosts to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:11 +00:00
Petr Vobornik
b55d154375 Modifying users to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:06 +00:00
Petr Vobornik
5b26a383ce Added possibility to define facet/dialog specific policies
After deleting section as a special type of object a new way of defining inter-field logic is needed.

For this purpose a facet_policy was created. It is a simple object with init() method. Init method should contain logic for attaching to fields' or widgets' events.
When a policy is added to facet or dialog its container property should be set to that facet or dialog. It gives the policy an access to fields and widgets.
Init method should be called after widgets creation.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:58 +00:00
Petr Vobornik
e021542120 Removing sections as special type of object
Sections are changed into pure widget objects. Introduced IPA.composite_widget, basic widget for widget nesting (it's using IPA.widget_container). It's base class for section widgets.

TODO: change old custom sections into custom fields and widgets.

Note: usage of section in HBAC and SUDO is kept - whole logic will be removed in #1515 patch.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:50 +00:00
Petr Vobornik
6cdf09812d Builders and collections for fields and widgets
Introduced IPA.field_container and IPA.widget_container.

IPA.field_container: collection for fields. Can set logical container (facet, dialog...) to fields.
IPA.widget_container: collection for widgets. Has basic searching capability withing widget tree.

Introduced field_builder, widget_builder, section_builder, details_builder. All are used for building fields and widgets. Field_builder and widget_builder have the main building logic. Section_builder can create content based on current section spec. Details builder defines a strategy for building content.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:44 +00:00
Petr Vobornik
863666fbe8 Improved fields dirty status detection logic 2011-12-05 16:00:39 +00:00
Petr Vobornik
4bab6b7e5d Splitting basic widgets into visual widgets and fields
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:32 +00:00
Petr Vobornik
a17bf5e754 Splitting widget into widget and field
Splitting IPA.widget into IPA.field (logical part) and IPA.widget, IPA.input_widget (visual part).

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:27 +00:00
Petr Vobornik
fd43a625a2 Added cross browser support of Array.indexOf method
https://fedorahosted.org/freeipa/ticket/2151
2011-12-02 18:35:59 +00:00
Sumit Bose
2ac9d4816a Add DNS service records for Windows
https://fedorahosted.org/freeipa/ticket/1939
2011-11-30 11:28:39 +01:00
Martin Kosek
046147b3a4 Make ipa-server-install clean after itself
ipa-server-install may create some files in the first phase of
installation before the actual installation and configuring of
services starts. If the installation is interrupted, these files
may prevent installing the server again until IPA server is
uninstalled. This may be confusing and annoying for the user.

This patch safely recovers all known files that could be created
in the first phase of the installation. No clean up is done if
the actual installation has not started yet or the installation
returned success.

https://fedorahosted.org/freeipa/ticket/1980
2011-11-29 09:18:03 +01:00
Martin Kosek
9cdeabc778 Enable automember for upgraded servers
automember functionality is depends on predefined data is in LDAP.
Since we add it for fresh installs only, automember cannot be used
for upgraded servers. Make sure that automember LDAP data is added
during upgrade too.

https://fedorahosted.org/freeipa/ticket/1992
2011-11-29 09:02:06 +01:00
Rob Crittenden
2f4b3972a0 Add plugin framework to LDAP updates.
There are two reasons for the plugin framework:
1. To provide a way of doing manual/complex LDAP changes without having
   to keep extending ldapupdate.py (like we did with managed entries).
2. Allows for better control of restarts.

There are two types of plugins, preop and postop. A preop plugin runs
before any file-based updates are loaded. A postop plugin runs after
all file-based updates are applied.

A preop plugin may update LDAP directly or craft update entries to be
applied with the file-based updates.

Either a preop or postop plugin may attempt to restart the dirsrv instance.
The instance is only restartable if ipa-ldap-updater is being executed
as root. A warning is printed if a restart is requested for a non-root
user.

Plugins are not executed by default. This is so we can use ldapupdate
to apply simple updates in commands like ipa-nis-manage.

https://fedorahosted.org/freeipa/ticket/1789
https://fedorahosted.org/freeipa/ticket/1790
https://fedorahosted.org/freeipa/ticket/2032
2011-11-22 23:57:10 -05:00
John Dennis
56401c1abe ticket 2022 - modify codebase to utilize IPALogManager, obsoletes logging
change default_logger_level to debug in configure_standard_logging

add new ipa_log_manager module, move log_mgr there, also export
root_logger from log_mgr.

change all log_manager imports to ipa_log_manager and change
log_manager.root_logger to root_logger.

add missing import for parse_log_level()
2011-11-23 09:36:18 +01:00
Simo Sorce
b8f259e027 Add NT domain GUID attribute.
We need this to be able to re-set it, as ipaUniqueID cannot be arbitraily set
to a value. Only needed for the domain object.
2011-11-21 18:52:48 -05:00
Endi Sukma Dewata
e84bd27af2 Fixed entity definition in test cases.
The test cases have been updated to use the new extensible mechanism
for defining and registering entities.

Ticket #2043
2011-11-18 15:57:00 +00:00
Rob Crittenden
8be0d84a59 Don't check for 389-instances.
We no longer need to enforce that no 389-ds instances exist on an IPA
server. Checking that the ports exist should be enough.

This used to be one mechanism we used to check to see if IPA was already
installed. We have a better mechanism now.

https://fedorahosted.org/freeipa/ticket/1735
2011-11-16 10:26:35 +01:00
Martin Kosek
70cb8bf355 Fix ipa-managed-entries bind procedure
Make sure that when Directory Manager password is entered,
we directly do a simple bind instead of trying binding via GSSAPI.
Also capture ldap.INVALID_CREDENTIALS exception and provide nice
error message than crash.

https://fedorahosted.org/freeipa/ticket/1927
2011-11-16 08:52:40 +01:00
JR Aquino
714b0d11ec Replication: Adjust replica installation to omit processing memberof computations
https://fedorahosted.org/freeipa/ticket/1794

If the master does not yet support the total update list feature we still
run the memberof fixup task and not fail to replicate due to the new
attribute not being settable.

Jointly-developed-with: Simo Sorce <ssorce@redhat.com>
Jointly-developed-with: Nathank Kinder <nkinder@redhat.com>
2011-11-14 05:30:06 -05:00
Endi S. Dewata
20ad8fe1ba Removed develop.js.
The develop.js is no longer necessary because the code in it has
been merged into the main code.

An empty extension.js has been added to provide a place for UI
customization.

Ticket #2099
2011-11-14 16:47:10 -05:00
Endi S. Dewata
d6d24be289 Refactored permission target section.
The permission target section has been modified to use widgets
to create the target selection and handle multiple fields.

Ticket #2098
2011-11-14 16:47:08 -05:00
Martin Kosek
0165a03694 Hosts file not updated when IP is passed as option
When an IPA server with unresolvable hostname is being installed,
a hostname record must be inserted to /etc/hosts or the
installation will fail. However, it is not inserted when IP
address is passed as an option (--ip-address) and not
interactively. This patch fixes this so that /etc/hosts
record is inserted in both cases.

https://fedorahosted.org/freeipa/ticket/2074
2011-11-10 20:56:29 -05:00
Endi S. Dewata
9405e1a9db Added paging on search facet.
The search facet has been modified to support paging on most entities
using the --pkey-only option to get the primary keys and a batch command
to get the complete records.

Paging on DNS records is not supported because a record may appear as
multiple rows. The following entities do not have --pkey-only option:
Automount Key, Self-Service Permissions, Delegation.

The search and association facet have been refactored to reuse the
common code from the table facet base class.

Ticket #981
2011-11-11 14:44:25 +00:00
Endi S. Dewata
df6bd6ab5a Updated sample data.
New sample data files have been added for search facet paging. Unused
files have been removed. The names used in the files have been updated
for consistency.

Ticket #981
2011-11-11 14:44:21 +00:00
Endi S. Dewata
6802ea7d70 Fixed problem changing page in association facet.
The association facet has been modified to detect page change to
determine whether the facet needs to be updated.

Ticket #1459
2011-11-07 15:07:02 +01:00
Endi S. Dewata
2eb6414372 Added current password field.
The reset password dialog for user has been modified to provide
a field to specify the current password when changing the user's
own password.

Ticket #2065
2011-11-07 14:18:25 +01:00
Petr Vobornik
9378e8b437 Extending facet's mechanism of gathering changes
https://fedorahosted.org/freeipa/ticket/2041

Adding option to gathering changes for update from widgets, sections, details facet.

Changes are represented by update_info { fields [] ((field_info)), commands [] ((command_info))  } object.

* On calling get_update_info() method widget, section and facet returns update_info object which represents all changes in nested objects. Thus usually widgets are creating update_infos, their containers are merging them.
* This object can be then used in details facet update method. In order to use it command_mode = 'init' has to be set. Command mode was introduced to support backward compatibility.
* command_info consists of command and priority. Priority can be set to specify exact exectuting order of commands. It can be defined on facet level by setting widget's priority. When widgit is creating command_info it should pas its priority to it.
2011-11-04 16:54:51 +00:00
Endi S. Dewata
8ca348b99e Added extensible UI framework.
The entity definitions have been converted into classes. The entity
init() method will use the builder to construct the facets and dialogs.
The UI can be customized by creating a subclass of the original entity
in extension.js and then overriding the init() method.

Ticket #2043
2011-11-04 16:51:54 +01:00
Endi S. Dewata
5db9fed8a5 Moved facet code into facet.js.
Facet-related code has been moved from entity.js into a new facet.js
because the file is getting too big.
2011-11-04 16:51:43 +01:00
Endi S. Dewata
6c3e1a21d7 Fixed blank krbtpolicy and config pages.
The details page compares the old and the new primary keys to determine
if the page needs to be reloaded. The Kerberos Ticket Policy and Config
pages do not use primary keys, so they are never loaded/updated with
data. A parameter has been added to force update on these pages.

Ticket #1459
2011-11-04 16:51:37 +01:00
Martin Kosek
ccb1433839 Fix ipa-replica-conncheck port labels
https://fedorahosted.org/freeipa/ticket/2057
2011-11-04 08:55:25 +01:00
Petr Vobornik
6d3924024c Field for DNS SOA class changed to combobox with options
https://fedorahosted.org/freeipa/ticket/602

SOA class is an enumerated field. Changing input field to combobox with options allows inserting only valid value.
2011-11-04 03:32:20 +00:00
Martin Kosek
32a506cac8 Fix ipa-server-install answer cache
Current Answer Cache storing mechanism is not ideal for storing
non-trivial Python types like arrays, custom classes, etc.
RawConfigParser just translates values to string, which
are not correctly decoded when the Answer Cache is parsed and
restored in the installer.

This patch replaces RawConfigParser with Python's standard pickle
module, which is a recommended way for serialization in Python.

https://fedorahosted.org/freeipa/ticket/2054
2011-11-03 21:46:27 +01:00
Petr Vobornik
9afe4b98da Page is cleared before it is visible
https://fedorahosted.org/freeipa/ticket/1459

Changes:
 * added clear method to widgets, section, search, details, association facets
 * clear and refresh method in facet are called only if key/filter was changed
 * added id generator for widgets
2011-11-02 15:37:49 +00:00
Adam Young
237a021848 Add priority to pwpolicy list
First step to solving

https://fedorahosted.org/freeipa/ticket/1977
2011-11-01 17:09:14 +00:00
Endi S. Dewata
555b13b9aa Added password field in user adder dialog.
The user adder dialog has been modified to provide optional fields
to specify password during user creation.

Ticket #1646
2011-10-27 15:05:26 +00:00
Endi S. Dewata
916d08719b Fixed inconsistent details facet validation.
The details facet validation has been moved out of update() such
that all subclasses perform consistent validation.

Ticket #1455
2011-10-27 15:03:33 +00:00