Commit Graph

1073 Commits

Author SHA1 Message Date
Martin Kosek
709e3ddc5c dirsrv is not stopped correctly in the fallback
The previous patch fixed ipactl stop command. However, the dirsrv
stop in the ipactl start command fallback was not right either.

https://fedorahosted.org/freeipa/ticket/1800
2011-09-20 12:41:26 +02:00
Martin Kosek
e49b0e6c09 ipactl does not stop dirsrv
Remove an invalid instance name passed to dirsrv service so that
it is correctly stopped.

https://fedorahosted.org/freeipa/ticket/1800
2011-09-20 10:50:21 +02:00
Endi S. Dewata
5e1e92dc16 Removed entitlement menu.
Ticket #1806
2011-09-16 16:34:20 +00:00
Endi S. Dewata
566fa8ddc5 Fixed problem opening host adder dialog.
The hidden fqdn field in the host adder dialog has been changed to
use a generic widget instead of text widget to avoid null pointer
error since the UI elements are never created.

Ticket #1788
2011-09-14 23:58:49 +00:00
Sumit Bose
29a7a7e8ce Add ipa-adtrust-install utility
https://fedorahosted.org/freeipa/ticket/1619
2011-09-14 18:45:13 -04:00
Rob Crittenden
ba1bdda25f Update ipa-ldap-updater man page saying it is not an end-user utility
https://fedorahosted.org/freeipa/ticket/1792
2011-09-14 14:39:55 +02:00
Endi S. Dewata
0882c25c66 Fixed labels for run-as users and groups.
The labels for the run-as users and groups tables in sudo rule details
page have been modified to improve the clarity.

Ticket #1752
2011-09-13 17:32:33 +00:00
Petr Vobornik
df049ff13d Code cleanup: widget creation
https://fedorahosted.org/freeipa/ticket/1788

Removed code duplication of undo links.
Simplified code of widget creation to be more readable.
2011-09-13 17:32:18 +00:00
Rob Crittenden
5371c03c93 The precendence on the modrdn plugin was set in the wrong location.
https://fedorahosted.org/freeipa/ticket/1370
2011-09-13 17:36:59 +02:00
Rob Crittenden
4fd20966f6 Improved handling for ipa-pki-proxy.conf
- Remove ipa-pki-proxy.conf when IPA is uninstalled
- Move file removal to httpinstance.py and use remove_file()
- Add a version stanza
- Create the file if it doesn't exist on upgraded installs

https://fedorahosted.org/freeipa/ticket/1771
2011-09-13 16:09:15 +02:00
Jr Aquino
8b3336ef55 Move Managed Entries into their own container in the replicated space.
Repoint cn=Managed Entries,cn=plugins,cn=config in common_setup
Create: cn=Managed Entries,cn=etc,$SUFFIX
Create: cn=Definitions,cn=Managed Entries,cn=etc,$SUFFIX
Create: cn=Templates,cn=Managed Entries,cn=etc,$SUFFIX
Create method for dynamically migrating any and all custom Managed Entries
from the cn=config space into the new container.
Separate the connection creation during update so that a restart can
be performed to initialize changes before performing a delete.
Add wait_for_open_socket() method in installutils

https://fedorahosted.org/freeipa/ticket/1708
2011-09-12 16:28:27 -04:00
Sumit Bose
579c8e56e0 Call standard_logging_setup() before any logging is done 2011-09-13 12:54:18 +02:00
Alexander Bokovoy
bbbb550aaa Convert installation tools to platform-independent access to system services
http://fedorahosted.org/freeipa/ticket/1605
2011-09-13 11:15:50 +02:00
Endi S. Dewata
b996a41177 Fixed missing optional field.
The optional uid field in user's adder dialog did not appear when
the link is clicked to show the field. This is a regression introduced
in the patch for ticket #1648.

The click handler for the link field has been moved into a new closure
so that the variables point to the correct elements.

Note: the duplicate code in IPA.details_table_section.create() and
IPA.dialog.create() will be addressed separately in ticket #1394.
2011-09-13 05:52:05 +00:00
Petr Vobornik
9c4b004076 Fixed inconsistency in enabling delete buttons
https://fedorahosted.org/freeipa/ticket/1640

On the HBAC Rules page, where the rules are listed, if no rule is selected, the "Delete" button is not enabled, and cannot be clicked on.
But edit a Rule, and Delete button is enabled in the available sections - regardless of, if an object is selected to be deleted or not, or even if there is no object to be selected to delete.

One can click on this button...but then - there is no message indicating that something should be selected for deletion for this button to do anything.

Notes:
 * fixed association_table_widget and association_facet
2011-09-09 22:43:19 +00:00
Endi S. Dewata
a95b44face Fixed sudo rule association dialogs.
The adder dialog for the user and host tables in sudo rule details
page have been fixed to use --not-in-sudorules to avoid showing
entries that are already added into the rule either directly or
indirectly via groups.

This does not apply to the command and run-as tables because they
do not support such option.

Ticket #1768
2011-09-09 19:47:27 +00:00
Endi S. Dewata
26ded75be9 Fixed layout problem in permission adder dialog.
In order to maintain consistent layout between details page and dialog
boxes the IPA.details_list_section has been replaced with
IPA.details_table_section which is based on table.

The IPA.target_section and other subclasses of IPA.details_list_section
have been converted to use IPA.details_table_section as well.

The unit tests have been updated accordingly.

Ticket #1648
2011-09-09 19:47:05 +00:00
Endi S. Dewata
05034f13e6 Fixed unit test for entity select widget.
The unit test for IPA.entity_select_widget has been fixed to check
the options after loading the record.
2011-09-07 19:21:23 +00:00
Petr Vobornik
d02e72d3e8 Fixed: JavaScript type error in entitlement page
https://fedorahosted.org/freeipa/ticket/1767

Opening IPA Server/Entitlements causes: "Uncaught TypeError: Cannot call method 'addClass' of undefined" error - Details.js:489

Introduced by patch for #1697

Cause: Details facet of entitlements doesn't contain Reset and Update buttons
2011-09-07 19:21:11 +00:00
Yuri Chornoivan
1785d0a7c1 Fix typos
Fix "The the" and "classses" in FreeIPA code and messages.

https://fedorahosted.org/freeipa/ticket/1480
2011-09-07 13:20:42 +02:00
Martin Kosek
d0ce604b4d Fix permissions in installers
Fix permissions for (configuration) files produced by
ipa-server-install or ipa-client-install. This patch is needed
when root has a umask preventing files from being world readable.

https://fedorahosted.org/freeipa/ticket/1644
2011-09-07 13:02:43 +02:00
Martin Kosek
dc3d0f3879 Improve man pages structure
There are too many options in ipa-*-install scripts which makes it
difficult to read. This patch adds subsections to install script
online help and man pages to improve readability. No option has
been changed.

To further improve man pages:

1) All man pages were changed to have the same header and top-center
   title to provide united look.

2) Few typos in man pages have been fixed

https://fedorahosted.org/freeipa/ticket/1687
2011-09-07 12:55:12 +02:00
Endi S. Dewata
9cd76c5bf9 Fixed problem with combobox using Sahi
The IPA.combobox_widget has been temporarily fixed to support automation
using Sahi.

Ticket #1754
2011-09-01 21:22:31 +00:00
Endi S. Dewata
b2cd8f0abf Fixed missing permission filter field.
Due to a recent change, all dialog boxes are now reset initially. The
IPA.target_section has been modified to show the default target (i.e.
filter) and the fields properly when reset.

Ticket #1748
2011-09-01 14:12:20 +00:00
Endi S. Dewata
6892d6e594 Fixed hard-coded UI message in entity.js.
The hard-coded label in IPA.facet has been moved into internal.py to
allow translation.

Ticket #1701
2011-09-01 14:12:15 +00:00
Simo Sorce
15cada3733 conncheck: Fix List of ports to check
We need to check all Kerberos ports both TCP and UDP transports.

Since we have the PKI proxy configuration all communication with the CA happens
on the standard 80/443 ports so we need to check them always.
We do not need to leave the old CA ports open. These ports are still used
locally but not over the network.
2011-09-01 10:10:18 -04:00
Simo Sorce
801dc97adb install: We do not need a kpasswd keytab anymore
We now use MIT's kadmin instead of our old ipa_kpasswd daemon.
kadmind knows how to fetch the keys directly from the database and doesn't need
a keytab on the filesystem.
2011-08-31 16:27:20 -04:00
Simo Sorce
096cc43fe6 install: We do not need a ldap password anymore
Our new ipa-kdb driver access ldap via ldapi:// and EXTERNAL auth and doesn't
need a bind password anymore.

Fixes: https://fedorahosted.org/freeipa/ticket/1743
2011-08-31 16:27:20 -04:00
Petr Vobornik
f6d36494fd Attributes table not scrollable
https://fedorahosted.org/freeipa/ticket/1739

The attributes table (IPA.attributes_widget) used in Permissions, Self-Service Permissions, and Delegations is supposed to be short but scrollable. In Firefox 3.6 it works fine, but in Firefox 6.0 it appears as a long non-scrollable table which makes it more difficult to use.
2011-08-31 19:37:19 +00:00
Endi S. Dewata
ebb0b386a3 Fixed problem with combobox.
The entity select widget has been modified to handle timing issue
in both dialog box and details page.

Ticket #1736
2011-08-31 16:29:55 +00:00
Endi S. Dewata
b7121a8cbd Fixed problem adding hostgroup into netgroup.
The memberof_netgroup association facet for hostgroup has been
explicitly defined to use the serial associator so it will invoke
the right methods.

Ticket #1737
2011-08-31 16:29:50 +00:00
Endi S. Dewata
6c6748748b Fixed hard-coded UI messages.
Some hard-coded messages in ipa.js have been moved into internal.py.
The messages in internal.py have been rearranged to match the output
(ipa_init.json).

A new method IPA.get_message() has been added to take a message ID and
return the translated message or a default message if not found.

Ticket #1701
2011-08-31 16:29:45 +00:00
Martin Kosek
6a2dfde086 Let Bind track data changes
Integrate new bind-dyndb-ldap features to automatically track
DNS data changes:

 1) Zone refresh
    Set --zone-refresh in installation to define number of seconds
    between bind-dyndb-ldap polls for new DNS zones. User now
    doesn't have to restart name server when a new zone is added.

 2) New zone notifications
    Use LDAP persistent search mechanism to immediately get
    notification when any new DNS zone is added. Use --zone-notif
    install option to enable. This option is mutually exclusive
    with Zone refresh.

To enable this functionality in existing IPA installations,
update a list of arguments for bind-dyndb-ldap in /etc/named.conf.
An example when zone refresh is disabled and DNS data change
notifications (argument psearch of bind-dyndb-ldap) are enabled:

dynamic-db "ipa" {
...
        arg "zone_refresh 0";
        arg "psearch yes";
};

This patch requires bind-dyndb-ldap-1.0.0-0.1.b1 or later.

https://fedorahosted.org/freeipa/ticket/826
2011-08-31 16:46:12 +02:00
Jr Aquino
d05ace8fba 34 Create FreeIPA CLI Plugin for the 389 Auto Membership plugin
Added new container in etc to hold the automembership configs.
Modified constants to point to the new container
Modified dsinstance to create the container
Created automember.py to add the new commands
Added xmlrpc test to verify functionality
Added minor fix to user.py for constant behavior between memberof
and automember

https://fedorahosted.org/freeipa/ticket/1272
2011-08-31 09:49:43 +02:00
Petr Vobornik
6b19b2dc89 Enable update and reset button only if dirty
https://fedorahosted.org/freeipa/ticket/1697

Original problem:
WEBUI: Update automount location refer to unknown command
Update name of the automount location (Policy -> Automount ->
custom_location -> Settings -> Update) in the WEBUI refer to an unknown command.

Solution:
Tracking dirty state in field -> section -> details facet.
'Reset' and 'Updates' in details facet are enabled only if facet is dirty.

Removes the problem above and 'no modification to be performed' annoyance.
2011-08-31 05:08:18 +00:00
Endi S. Dewata
54503518aa Fixed host adder dialog to show default DNS zone.
The DNS zone widget for host adder dialog has been modified not to
provide an empty option, so it will show the first available zone.

Ticket #1685
2011-08-30 14:51:03 +00:00
Rob Crittenden
d7618acb73 Add common is_installed() fn, better uninstall logging, check for errors.
The installer and ipactl used two different methods to determine
whether IPA was configured, unify them.

When uninstalling report any thing that looks suspicious and warn
that a re-install may fail. This includes any remaining 389-ds instances
and any state or files that remains after all the module uninstallers
are complete.

Add wrappers for removing files and directories to log failures.

https://fedorahosted.org/freeipa/ticket/1715
2011-08-29 16:50:43 -04:00
Adam Young
5ee93349f6 enable proxy for dogtag
Dogtag is going to be proxied through httpd.  To make this work, it has to support renegotiation of the SSL
connection.  This patch enables renegotiate in the nss configuration file during during apache configuration,
as well as modifies libnss to set the appropriate optins on the ssl connection in order to  renegotiate.

The IPA install uses the internal ports instead of proxying through
httpd since  httpd is not set up yet.

IPA needs to Request the certificate through a port that uses authentication.  On the Dogtag side, they provide an additional mapping for this:   /ca/eeca/ca as opposed tp /ca/ee/ca  just for this purpose.

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

add flag to pkicreate in order to enable using proxy.

add the proxy file in  /etc/http/conf.d/

Signed-off-by: Simo Sorce <ssorce@redhat.com>
2011-08-29 17:54:49 -04:00
Petr Vobornik
508217ada7 Modifying sudo options refreshes the whole page
https://fedorahosted.org/freeipa/ticket/1689

Currently adding or deleting sudo options will refresh the entire page. It's not a problem but the code could be optimized to refresh only the sudo options table
2011-08-29 15:21:15 +00:00
Endi S. Dewata
9dd689ff9d Fixed host keytab status after setting OTP.
The host details page has been modified to update the keytab status
based on the data returned by the host-mod command for setting OTP.

Ticket #1710
2011-08-26 15:19:22 +00:00
Endi S. Dewata
79f5c5b2ae Fixed host OTP status.
The host details page has been modified to show the status of the OTP.
Setting a new OTP is now done using a dialog box.

Ticket #1710
2011-08-26 15:19:12 +00:00
Simo Sorce
586e2eaf6c v3-schema: Add new ipaExternalGroup objectclass
This construct allows to have a group of ipaExternalMember attributes, that can
be nested in a normal ipa Group ('memberOf' is allowed).

It cannot contain normal ipa users/groups and cannot be nested with another
group of the same type ('member' is not allowed).
2011-08-26 08:26:13 -04:00
Simo Sorce
19cb08e579 schema: Split ipadns definitions from basev2 ones 2011-08-26 08:26:13 -04:00
Simo Sorce
dfa944da24 daemons: Remove ipa_kpasswd
Now that we have our own database we can properly enforce stricter constraints
on how the db can be changed. Stop shipping our own kpasswd daemon and instead
use the regular kadmin daemon.
2011-08-26 08:26:08 -04:00
Simo Sorce
a60a71497b install: Use proper case for boolean values 2011-08-26 08:24:50 -04:00
Simo Sorce
8cb2aee626 install: Remove uid=kdc user
The ipadb DAL driver gets access to the ldap server as Directory Manager now so
this user is not needed anymore.
2011-08-26 08:24:50 -04:00
Simo Sorce
195a65d5c2 ipa-kdb: Change install to use the new ipa-kdb kdc backend
Use ipakdb instead of kldap and change install procedures accordingly
Note that we do not need to store the master key in a keytab as we can
read it off of ldap in our driver.
2011-08-26 08:24:50 -04:00
John Dennis
1b4eab0411 ticket 1669 - improve i18n docstring extraction
This patch reverts the use of pygettext for i18n string extraction. It
was originally introduced because the help documentation for commands
are in the class docstring and module docstring.

Docstrings are a Python construct whereby any string which immediately
follows a class declaration, function/method declaration or appears
first in a module is taken to be the documentation for that
object. Python automatically assigns that string to the __doc__
variable associated with the object. Explicitly assigning to the
__doc__ variable is equivalent and permitted.

We mark strings in the source for i18n translation by embedding them
in _() or ngettext(). Specialized extraction tools (e.g. xgettext)
scan the source code looking for strings with those markers and
extracts the string for inclusion in a translation catalog.

It was mistakingly assumed one could not mark for translation Python
docstrings. Since some docstrings are vital for our command help
system some method had to be devised to extract docstrings for the
translation catalog. pygettext has the ability to locate and extract
docstrings and it was introduced to acquire the documentation for our
commands located in module and class docstrings.

However pygettext was too large a hammer for this task, it lacked any
fined grained ability to extract only the docstrings we were
interested in. In practice it extracted EVERY docstring in each file
it was presented with. This caused a large number strings to be
extracted for translation which had no reason to be translated, the
string might have been internal code documentation never meant to be
seen by users. Often the superfluous docstrings were long, complex and
likely difficult to translate. This placed an unnecessary burden on
our volunteer translators.

Instead what is needed is some method to extract only those strings
intended for translation. We already have such a mechanism and it is
already widely used, namely wrapping strings intended for translation
in calls to _() or _negettext(), i.e. marking a string for i18n
translation. Thus the solution to the docstring translation problem is
to mark the docstrings exactly as we have been doing, it only requires
that instead of a bare Python docstring we instead assign the marked
string to the __doc__ variable. Using the hypothetical class foo as
an example.

class foo(Command):
    '''
    The foo command takes out the garbage.
    '''

Would become:

class foo(Command):
    __doc__ = _('The foo command takes out the garbage.')

But which docstrings need to be marked for translation? The makeapi
tool knows how to iterate over every command in our public API. It was
extended to validate every command's documentation and report if any
documentation is missing or not marked for translation. That
information was then used to identify each docstring in the code which
needed to be transformed.

In summary what this patch does is:

* Remove the use of pygettext (modification to install/po/Makefile.in)

* Replace every docstring with an explicit assignment to __doc__ where
  the rhs of the assignment is an i18n marking function.

* Single line docstrings appearing in multi-line string literals
  (e.g. ''' or """) were replaced with single line string literals
  because the multi-line literals were introducing unnecessary
  whitespace and newlines in the string extracted for translation. For
  example:

  '''
  The foo command takes out the garbage.
  '''

  Would appear in the translation catalog as:

"\n
  The foo command takes out the garbage.\n
  "

  The superfluous whitespace and newlines are confusing to translators
  and requires us to strip leading and trailing whitespace from the
  translation at run time.

* Import statements were moved from below the docstring to above
  it. This was necessary because the i18n markers are imported
  functions and must be available before the the doc is
  parsed. Technically only the import of the i18n markers had to
  appear before the doc but stylistically it's better to keep all the
  imports together.

* It was observed during the docstring editing process that the
  command documentation was inconsistent with respect to the use of
  periods to terminate a sentence. Some doc had a trailing period,
  others didn't. Consistency was enforced by adding a period to end of
  every docstring if one was missing.
2011-08-24 23:13:16 -04:00
Petr Vobornik
50a898855c Modify serial associator to use batch
https://fedorahosted.org/freeipa/ticket/1688

The serial associator is used to execute a command multiple times with different parameters. This is used for adding/removing a user into/from multiple groups. It has some issues:

Each command is executed one-by-one, so it could be slow.
  * If there's a failure the rest of the commands will not be executed.
  * This can be fixed by putting the commands into a batch and execute them at once.
2011-08-25 15:57:00 +00:00
Endi S. Dewata
fcd927a126 Fixed default map type in automount map adder dialog.
The adder dialog for automount map has been modified to select the
direct map by default.

Ticket #1698
2011-08-25 13:57:08 +00:00