Commit Graph

4284 Commits

Author SHA1 Message Date
Jan Cholasta
a065cfba0b Remove more redundant configuration values from krb5.conf.
ticket 1358
2011-10-11 22:01:27 -04:00
Jan Cholasta
7a5d906d03 Don't leak passwords through kdb5_ldap_util command line arguments.
ticket 1948
2011-10-11 21:25:51 -04:00
Rob Crittenden
32dbf7ff06 Make ipa-join work against an LDAP server that disallows anon binds
We determine the realm in the client installer so we can deduce
the base dn, pass that into ipa-join so we don't have to hunt for
it.

Re-order the bind so when doing an OTP enrollment so we can use the host
entry to authenticate before we retrieve the subject base, then initiate
the enrollment.

If ipa-join is called without a basedn it will still attempt to
determine it, but it will fail if anonymous binds are not allowed.

https://fedorahosted.org/freeipa/ticket/1935
2011-10-11 18:26:42 -04:00
Alexander Bokovoy
818009dda7 Write KRB5REALM to /etc/sysconfig/krb5kdc and make use of common backup_config_and_replace_variables() tool
systemd service unit for krb5kdc in Fedora 16 uses KRB5REALM variable of
/etc/sysconfig/krb5kdc to start krb5kdc for the default realm. Thus, we
need to make sure it is always existing and pointing to our realm.

Partial fix for:
   https://fedorahosted.org/freeipa/ticket/1192
2011-10-11 18:20:31 -04:00
Alexander Bokovoy
b17dfe4a86 Refactor backup_and_replace_hostname() into a flexible config modification tool
backup_and_replace_hostname() was doing three things:
    1. Given config file in 'key=value' style, replace value for a
       specified key (HOSTNAME)
    2. Backup original file and install a replacement
    3. Restore original security context after editing

We have several more places where parts of the functionality are needed,
thus making two tools in ipapython.ipautil:

    1. config_replace_variables(filepath, replacevars=dict(),
                                appendvars=dict())
       Replaces or appends values to specified keys, adding new key=value
       pairs if key was absent

    2. backup_config_and_replace_variables(fstore, filepath,
                                           replacevars=dict(),
                                           appendvars=dict())
       Backups config file and calls config_replace_variables()

A caller must handle security context after using these two tools.

In addition, as before, there is
ipapython.services.backup_and_replace_hostname() that uses
these common tools and restores security context after editing.

The code will be used extensively for systemd integration for Fedora 16.

Fixes:
    https://fedorahosted.org/freeipa/ticket/1871
2011-10-11 18:20:07 -04:00
Rob Crittenden
c2ae286e4b Fix upgrades of selfsign server
In checking to see if the dogtag proxy configuration needed to be updated
we didn't handle the case where dogtag isn't installed at all.

https://fedorahosted.org/freeipa/ticket/1951
2011-10-11 17:08:27 -04:00
Jan Cholasta
1e56498479 Disallow deletion of global password policy.
ticket 1936
2011-10-12 10:12:59 +02:00
Petr Vobornik
07b87aac69 Added missing fields to password policy page
https://fedorahosted.org/freeipa/ticket/1944

No editable fields exist for "maxfail", "failinterval" "lockouttime" and "priority" in password policy page.
2011-10-10 18:50:53 -04:00
Alexander Bokovoy
caaacc9a61 Include indirect membership and canonicalize hosts during HBAC rules testing
When users and hosts are included into groups indirectly, make sure that
during HBAC test e fill in all indirect groups properly into an HBAC request.

Also, if hosts provided for test are not specified fully, canonicalize them
using IPA domain.

This makes possible following requests:
ipa hbactest --user foobar --srchost vm-101 --host vm-101 --service sshd

Request to evaluate:
 <user <name foobar groups [hbacusers,ipausers]>
  service <name sshd groups []>
  targethost <name vm-101.ipa.local groups []>
  srchost <name vm-101.ipa.local groups []>
 >

Fixes:
https://fedorahosted.org/freeipa/ticket/1862
https://fedorahosted.org/freeipa/ticket/1949
2011-10-10 17:09:37 -04:00
Alexander Bokovoy
d487571849 Force kerberos realm to be a string
Fixes issue with Python linter on Fedora 16 where it assumes for C
modules-provided objects that they are of type _Chainmap during static
analysis.
2011-10-10 16:37:33 -04:00
Martin Kosek
dc39e95349 Fix dnszone-add name_from_ip server validation
Ticket 1627 contained a (temporary hack-ish) fix for dnszone-add
name_from_ip validation which works fine for CLI. However, when
the command is not proceeded via CLI and sent directly to the
RPC server, the server throws Internal Server Error.

Make sure that the server returns a reasonable error. Also implement
2 unit cases testing this option

https://fedorahosted.org/freeipa/ticket/1941
2011-10-11 15:15:29 +02:00
Martin Kosek
c23b3819e1 Fix i18n in config plugin 2011-10-11 14:51:16 +02:00
Martin Kosek
38817664c6 Improve default user/group object class validation
When user/group default object class is being modified via
ipa config-mod, no validation check is run. Check at least
the following:

- all object classes are known to LDAP
- all default user/group attributes are allowed under the new
  set of default object classes

https://fedorahosted.org/freeipa/ticket/1893
2011-10-11 14:49:46 +02:00
Alexander Bokovoy
91893736d0 Increase number of 'getent passwd attempts' to 10
During ipa-client-install SSSD is not always started up properly for some
reason, things like "getent passwd admin" do not work.  This is particulary
true for large setups where admin is included in a large set of groups.

https://fedorahosted.org/freeipa/ticket/1774
2011-10-11 10:36:52 +02:00
Rob Crittenden
9386f15494 Fix DNS permissions and membership in privileges
This resolves two issues:

1. The DNS acis lacked a prefix so weren't tied to permissions
2. The permissions were added before the privileges so the member
   values weren't calculated properly

For updates we need to add in the members and recalculate memberof via
a DS task.

https://fedorahosted.org/freeipa/ticket/1898
2011-10-09 23:44:55 -04:00
Rob Crittenden
e6e95b51db Become IPA 2.1.2 2011-10-06 22:39:43 -04:00
Adam Young
8cfddc3a0f Force the upgrade of pki-setup when upgrading the RPMS 2011-10-07 14:54:57 -04:00
Adam Young
f30924decd Execute pki proxy setup when server is upgraded if needed 2011-10-07 14:48:21 -04:00
Adam Young
8dd24ba870 Make mod_nss renegotiation configuration a public function 2011-10-07 14:48:21 -04:00
Petr Vobornik
48f30698e5 Split Web UI initialization to several smaller calls
https://fedorahosted.org/freeipa/ticket/1933

Web UI init method was modified to get initialization data in 3 calls.
First call remains the same as before except that the json_metadata command
was removed.

JSON metadata are requested after successful response of the first batch command.
This approach should preserve functionality in IE (where request is missing after
authentication). Getting JSON metadata is split to two commands - this should prevent
the error in linked ticket. These two commands are paralelly executed by new
concurent_command object.

Concurrent command waits for all responses then it calls each command's success
handler.
2011-10-07 14:43:28 -04:00
Petr Vobornik
30b2d4e596 Split Web UI initialization to several smaller calls #2
https://fedorahosted.org/freeipa/ticket/1933

Modified data files for offline testing.
2011-10-07 14:43:28 -04:00
Adam Young
f7812fa68c split metadata call
The JSON metadata call has grown large enough that parsing it requires too much stack space on some browsers.  TO avoid breaking the API, this change reuses some testing parameters that we established for the metadata call in the past.  To fetch just the objects call it like this:
{"method":"json_metadata","params":[["all",""],{}],"id":0}
And just the methods call it like this:
{"method":"json_metadata","params":[["","all"],{}],"id":0}

Note the difference in the positional parameters.

To get a specific object,  pass the object name as the first parameter.  To get a specific method, pass a blank first parameter and the method name in the second parameter.

THis is not ideal, but we are constrained by the existing API.
2011-10-07 14:43:28 -04:00
Rob Crittenden
c5384f2f25 When calculating indirect membership don't test nesting on users and hosts.
Members are dereferenced when calculating indirect membership. We don't
need to check hosts and users for members.

This significantly reduces the number of queries required for large groups.

https://fedorahosted.org/freeipa/ticket/1885
2011-10-06 17:06:04 -04:00
Martin Kosek
e2182d67ae Make sure ipa-client-install returns correct error code
https://fedorahosted.org/freeipa/ticket/1937
2011-10-07 15:23:27 +02:00
Petr Vobornik
c8f9f8d351 Fixed links to images in config and migration pages
https://fedorahosted.org/freeipa/ticket/1932

Description of problem:
Title is missing while configuring browser for the first time.

Actual results:
There is no title on this screen. I noticed it only on step 8 and later so I am not sure if title is also missing earlier at step 6 or not.

Expected results:
Title "Identity Management" is always present.

Fixed:
 * modified paths to images
 * fixed padding in ssbrowser.html
 * moved browser icons to ui folder
 * deleted unused images in html and migration folders (they are already in ui folder, and weren't deployed)

whitespaces
2011-10-06 23:24:36 -05:00
Martin Kosek
92dbd68677 Prevent collisions of hostgroup and netgroup
For every hostgroup a managed netgroup is created (if this is allowed).
Make sure that if a stand-alone netgroup exists, a hostgroup with the
same name cannot be created to prevent collisions.

https://fedorahosted.org/freeipa/ticket/1914
2011-10-06 05:30:52 -04:00
Alexander Bokovoy
60bacc23a0 Before kinit, try to sync time with the NTP servers of the domain we are joining
When running ipa-client-install on a system whose clock is not in sync
with the master, kinit fails and enrollment is aborted. Manual checking
of current time at the master and adjusting on the client-to-be is then
needed.

The patch tries to fetch SRV records for NTP servers of the domain we aim
to join and runs ntpdate to get time synchronized. If no SRV records are
found, sync with IPA server itself.  If that fails, warn that time might
be not in sync with KDC.

https://fedorahosted.org/freeipa/ticket/1773
2011-10-06 05:17:08 -04:00
Petr Vobornik
6f38cc42e7 Disables gid field if not posix group in group adder dialog
https://fedorahosted.org/freeipa/ticket/1922

gidNumber is not an allowed attribute for a non-posix group.  When adding a non-posix group from the UI, unchecking the "Is this a POSIX group?:" box should disable the "GID:" field.
2011-10-06 13:15:01 +02:00
Martin Kosek
526a39903a Improve ipa-replica-prepare DNS check
Currently, verify_fqdn() function raises RuntimeError for every
problem with the hostname. This makes it difficult for tools
like ipa-replica-prepare to behave differently for a subset of
raised errors (for example to be able to create a DNS record for
new replica when verify_fqdn() reports a lookup error).

Implement own exceptions for verify_fqdn() that they can be safely
used to distinguish the error type.

https://fedorahosted.org/freeipa/ticket/1899
2011-10-06 11:28:25 +02:00
Simo Sorce
6dcd1d8121 replica-prepare: anonymous binds may be disallowed
Fixes: https://fedorahosted.org/freeipa/ticket/1900
2011-10-06 08:41:39 +02:00
Martin Kosek
45212301f2 Install tools crash when password prompt is interrupted
When getpass.getpass() function is interrupted via CTRL+D, EOFError
exception is thrown. Most of the install tools are not prepared for
this event and crash with this exception. Make sure that it is
handled properly and nice error message is printed.

https://fedorahosted.org/freeipa/ticket/1916
2011-10-06 08:28:34 +02:00
Nalin Dahyabhai
5de97801aa - note that PKCS#12 files also contain private keys, and that the "pkinit" options refer to the KDC's credentials 2011-10-04 23:00:08 -04:00
Jan Cholasta
428d8c4a2d Work around pkisilent bugs.
Check directory manager password and certificate subject base for
invalid characters.
(https://bugzilla.redhat.com/show_bug.cgi?id=658641)

Shell-escape pkisilent command-line arguments.
(https://bugzilla.redhat.com/show_bug.cgi?id=741180)

ticket 1636
2011-10-04 20:13:11 -04:00
Sumit Bose
5bc8323964 ipa-pwd-extop: allow password change on all connections with SSF>1
Instead of checking the individual SSFs for SASL, SSL/TLS and LDAPI connection
the global SSF is checked for password changes and enrollments.

https://fedorahosted.org/freeipa/ticket/1877
2011-10-05 17:20:37 +02:00
Alexander Bokovoy
92ee5ee90d Fix 'referenced before assignment' warning 2011-10-05 15:04:20 +02:00
Alexander Bokovoy
12ac2bd20a Setup and restore ntp configuration on the client side properly
When setting up the client-side NTP configuration, make sure that /etc/ntp/step-tickers
point to IPA NTP server as well.
When restoring the client during ipa-client-install --uninstall, make sure NTP configuration
is fully restored and NTP service is disabled if it was disabled before the installation.

https://fedorahosted.org/freeipa/ticket/1770
2011-10-05 12:52:52 +02:00
Jan Cholasta
087251c88b Add a function for formatting network locations of the form host:port for use in URLs.
If the host part is a literal IPv6 address, it must be enclosed in square
brackets (RFC 2732).

ticket 1869
2011-10-05 10:58:42 +02:00
Nalin Dahyabhai
49de0c0575 list users from nested groups, too 2011-10-05 09:07:01 +02:00
Alexander Bokovoy
39a64a5272 Configure pam_krb5 on the client only if sssd is not configured
https://fedorahosted.org/freeipa/ticket/1775
2011-10-04 17:00:48 +02:00
Rob Crittenden
bc83472b5b Migration: don't assume there is only one naming context, add logging.
We can't assume that there will be only one naming context. Look at each
one until we find an IPA one.

Add logging so you can know that a migration attempt fails and why.

https://fedorahosted.org/freeipa/ticket/1834
https://fedorahosted.org/freeipa/ticket/1835
2011-10-04 16:14:25 +02:00
Alexander Bokovoy
8f5d806b81 Unroll StrEnum values when displaying help
https://fedorahosted.org/freeipa/ticket/1848
2011-10-03 16:40:57 -04:00
Rob Crittenden
844d4ff8bf Require current password when using passwd to change your own password.
Add a new required parameter, current_password. In order to ask this
first I added a new parameter option, sortorder. The lower the value the
earlier it will be prompted for.

I also changed the way autofill works. It will attempt to get the default
and if it doesn't get anything will continue prompting interactively.

Since current_password is required I'm passing a magic value that
means changing someone else's password. We need to pass something
since current_password is required.

The python-ldap passwd command doesn't seem to use the old password at
all so I do a simple bind to validate it.

https://fedorahosted.org/freeipa/ticket/1808
2011-10-04 15:16:38 +02:00
Martin Kosek
651534087c Be more clear about selfsign option
Installing IPA server --selfsign option is currently a one-way ticket
to server with limited certificate capabilities. Make sure that user
really want to install it by implementing the following steps:

- moving the option to the bottom of certificate options section
- adding a warning to ipa-server-install man page
- adding a warning to ipa-server-install help
- adding a warning to ipa-server-install configuration summary
  when one runs ipa-server-install

https://fedorahosted.org/freeipa/ticket/1908
2011-10-04 11:01:10 +02:00
Endi S. Dewata
a013597e7c Disable sudo options Delete button if nothing selected.
The Delete button for sudo options in sudo rule details page now
will only work if there is at least one row selected.

Ticket #1896
2011-10-03 15:16:15 +02:00
Endi S. Dewata
af8350c327 I18n clean-up.
The hard-coded 'undo' and 'undo all' labels have been moved into
internal.py to allow translation.

Ticket #1897
2011-10-03 15:13:53 +02:00
Martin Kosek
46c16ed6ec migrate process cannot handle multivalued pkey attribute
When group/user is migrated, the attribute used for RDN may be
multivalued. Make sure that we pick the value used in the RDN
which should be the unique one and not just the first one.

https://fedorahosted.org/freeipa/ticket/1892
2011-10-03 10:48:02 +02:00
Endi S. Dewata
aaa7c05f50 Fixed missing default shell field.
The config default page has been fixed to provide a field for the
ipadefaultloginshell attribute.

Ticket #1895
2011-09-30 12:58:39 -05:00
Martin Kosek
848d37c092 ipa-client assumes a single namingcontext
When LDAP server contains more that one suffixes, the ipa client
installation does not detect it as IPA server and fails to install.
Fix ipa server discovery so that it correctly searches all naming
contexts for the IPA one.

https://fedorahosted.org/freeipa/ticket/1868
2011-09-30 16:54:30 +02:00
Simo Sorce
8fb70fd249 ipa-client-install: Fix joining when LDAP access is restricted
Fixes: https://fedorahosted.org/freeipa/ticket/1881
2011-09-30 16:42:43 +02:00
Martin Kosek
f9e277b9fb Fix HBAC tests hostnames
Make HBAC test hosts compliant with hostname restrictions placed
in ticket 1780.
2011-09-30 12:25:27 +02:00