Commit message (Collapse)AuthorAgeFilesLines
* Update spec file to use systemd on Fedora 16 and abovesystemd-masterAlexander Bokovoy2011-10-241-1/+74
* Spin for connection success also when socket is not (yet) availableAlexander Bokovoy2011-10-241-1/+1
| | | | | | | | | | We were spinning for socket connection if attempt to connect returned errno 111 (connection refused). However, it is not enough for local AF_UNIX sockets as heavy applications might not be able to start yet and therefore the whole path might be missing. So spin for errno 2 (no such file or directory) as well. Partial fix for
* Add support for systemd environments and use it to support Fedora 16Alexander Bokovoy2011-10-2411-19/+371
| | | |
* Fix problems in help systemmasterRob Crittenden2011-10-201-0/+8
| | | | | | | | | | Fixes 3 issues: - If a topic has all its commands disabled, it should be disabled - If a command is disabled its help should be disabled - The show-mappings help was missing a doc string so no help was displayed
* Ticket 1201 - Unable to Download Certificate with BrowserJohn Dennis2011-10-212-15/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certificates are passed through the IPA XML-RPC and JSON as binary data in DER X509 format. Queries peformed against the LDAP server also return binary DER X509 format. In all cases the binary DER data is base-64 encoded. PEM is standard text format for certificates. It also uses base64 to encode the binary DER data, but had specific formatting requirements. The base64 data must be wrapped inside PEM delimiters and the base64 data must be line wrapped at 64 characters. Most external software which accepts certificates as input will only accept DER or PEM format (e.g. openssl & NSS). Although base64 is closely related to PEM it is not PEM unless the PEM delimters are present and the base64 data is line wrapped at 64 characters. We already convert binary DER certificates which have been passed as base64 in other parts of the IPA code. However this conversion has not been available in the web UI. When the web UI presented certificates it did so by filling a dialog box with a single line of base64 data. A user could not copy this data and use it as input to openssl or NSS for example. We resolve this problem by introducing new javascript functions in certificate.js. IPA.cert.pem_cert_format(text) will examine the text input and if it's already in PEM format just return it unmodified, otherwise it will line wrap the base64 data and add the PEM delimiters. Thus it is safe to call on either a previously formated PEM cert or a binary DER cert encoded as base64. This applies to pem_csr_format() as well for CSR's. Because pem_cert_format() is safe to call on either format the web UI will see the use of the flag add_pem_delimiters was eliminated except in the one case where the IPA.cert.download_dialog() was being abused to display PKCS12 binary data (pkcs12 is neither a cert nor a cert request). Because of the abuse of the cert.download_dialog() for pkcs12 it was necessary to retain the flag which in effect said "do not treat the data as PEM". Modify the CSR (Certificate Signing Request) dialog box to accept a PEM formatted CSR. Remove the artifical PEM delimiters above and below the dialog box which were used to suggest the input needed to be sans the delimiters. The dialog box continues to accept bare base64 thus allowing either text format. Also note this solves the display of certificate data in the UI without touching anything existing code in the server or command line, thus it's isolated.
* hbactest fails while you have svcgroup in hbacruleAlexander Bokovoy2011-10-201-2/+3
| | | |
* Fix client krb5 domain mapping and DNSMartin Kosek2011-10-211-7/+13
| | | | | | | | | | | Add Kerberos mapping for clients outside of server domain. Otherwise certmonger had problems issuing the certificate. Also make sure that client DNS records on the server are set before certmonger is started and certificate is requested. Based on Lars Sjostrom patch.
* Fixing infinite loop in UI navigation unit test.Petr Vobornik2011-10-201-3/+9
| | | | | | It's a fix for regression introduced by previous patch.
* Fixed dependency problem in UI test.Endi S. Dewata2011-10-201-0/+2
* Fixed: Duplicate CSS definitionsPetr Vobornik2011-10-1910-1704/+144
| | | | | | | | | | The ipa.css, ipa_error.css and ipa_migration.css contain some duplicate definitions which cause maintenance problems. Additional changes: * fixed whitespaces in ipa.css * unified headings in config pages
* Circular entity dependencyPetr Vobornik2011-10-184-104/+275
| | | | | | | | | | | | | | | | | Each entity is created together with its dependent objects (e.g. facets and dialog boxes). This causes a circular dependency problem because some of the objects need to obtain a reference to another entity that has not been created. Currently this is handled by storing only the other entity name and resolve it when needed (e.g. during rendering stage). In IPA.search_facet this delays the creation of the table widget, making it more difficult to customize. One solution is to do the object creation in 2 steps: * create all entity objects only * create the dependent objects in each entity Implemented solution: * all entities are created on application start * dependant objects (facets and dialogs) are created at once on their first use in entity.
* Fixed: Unable to add external user for RunAs User for Sudo rulesPetr Vobornik2011-10-171-0/+2
| | | | | | | There is no way to add root or any external user as a RunAs User for a Sudo Rule.
* Improve hostgroup/netgroup collision checksMartin Kosek2011-10-172-2/+32
| | | | | | | | | | | | | | | When the NGP plugin is enabled, a managed netgroup is created for every hostgroup. We already check that netgroup with the same name does not exist and provide a meaningful error message. However, this error message was also printed when a duplicate hostgroup existed. This patch checks for duplicate hostgroup existence first and netgroup on the second place. It also makes sure that when NGP plugin is (temporarily) disabled, a colliding netgroup cannot be created.
* Fix typo in invalid PTR record error messageRob Crittenden2011-10-131-1/+1
| | | |
* If our domain is already configured in sssd.conf start with a new config.Rob Crittenden2011-10-131-1/+12
| | | |
* Update all LDAP configuration files that we can.Rob Crittenden2011-10-131-2/+5
| | | | | | | LDAP can be configured in any number of places, we need to update everything we find.
* Use set class instead of dictview class as set is wider supportedAlexander Bokovoy2011-10-131-2/+2
* Handle an empty value in a name/value pair in config_replace_variables()Rob Crittenden2011-10-131-1/+3
| | | | | | | | | This would blow up if you tried to append a value to an entry that looked like: NAME=
* Set min nvr of 389-ds-base to 1.2.10-0.4.a4 for limits fixes (740942, 742324)Rob Crittenden2011-10-131-1/+4
* Fix ipa-client-install -U option alignmentMartin Kosek2011-10-141-0/+1
* Document --preserve-sssd option of ipa-client-installAlexander Bokovoy2011-10-141-0/+9
| | | | | | | | | | | Add documentation about --preserve-sssd, an ipa-client-install's option to honor previously available SSSD configuration in case it is not possible to merge it cleanly with the new one. In this case ipa-client-install will fail and ask user to fix SSSD config before continuing. Additional fix for
* Add explicit instructions to ipa-replica-manage for winsync replicationRob Crittenden2011-10-141-2/+29
| | | |
* Save the value of hostname even if it doesn't appear in /etc/sysconfig/networkRob Crittenden2011-10-131-1/+4
| | | |
* Check /etc/hosts file in ipa-server-installMartin Kosek2011-10-133-10/+42
| | | | | | | | There may already be a record in /etc/hosts for chosen IP address which may not be detected under some circumstances. Make sure that /etc/hosts is checked properly.
* Hostname used by IPA must be a system hostnameMartin Kosek2011-10-134-7/+27
| | | | | | | | | | | Make sure that the hostname IPA uses is a system hostname. If user passes a non-system hostname, update the network settings and system hostname in the same way that ipa-client-install does. This step should prevent various services failures which may not be ready to talk to IPA with non-system hostname.
* Check hostname resolution sanityMartin Kosek2011-10-132-4/+12
| | | | | | | | | Always check (even with --setup-dns or --no-host-dns) that if the host name or ip address resolves, it resolves to sane value. Otherwise report an error. Misconfigured /etc/hosts causing these errors could harm the installation later.
* Fix dynamic display of UI tabs based on rightsAdam Young2011-10-121-2/+2
| | | | | | | | | | | | | Fixes the webui for the case wherea user is not admin but has a role. In that case, the UI should show the full administrative tabset, but was instead limited to the selfservice tabset. The problem was rolegroup had been renamed to role but the UI hadn't been updated to reflect this. Addresses
* Work around limits not being updatable in 389-ds.Rob Crittenden2011-10-121-1/+1
| | | | | | | | | The bug to fix updates, BZ 741744, isn't working. For the short term add the attributes we want to update to the REPLACE whitelist so rather than using an ADD and DEL operation it will use a REPLACE.
* updates: Change default limits on ldap searchesSimo Sorce2011-10-121-0/+20
| | | | | Fixes:
* Fix has_upg() to work with relocated managed entries configuration.Rob Crittenden2011-10-131-18/+17
| | | |
* Refactor authconfig use in ipa-client-installAlexander Bokovoy2011-10-122-20/+103
| | | | | | | | | | | | | When certain features are being configured via authconfig, we need to remember what was configured and what was the state before it so that during uninstall we restore proper state of the services. Mostly it affects sssd configuration with multiple domains but also pre-existing LDAP and krb5 configurations. This should fix following tickets:
* Make IPv4 address parsing more strictMartin Kosek2011-10-131-3/+9
| | | | | | | | | Let netaddr.IPAddress() use inet_pton() rather than inet_aton() for IP address parsing. We will use the same function in IPv4/IPv6 conversions + be stricter and don't allow IP addresses such as '1.1.1' at the same time.
* Optimize member/memberof searches in LDAPMartin Kosek2011-10-121-5/+4
| | | | | | | | | | | | When investigating if member/memberof attribute is direct/indirect we do a lot of LDAP SCOPE_SUBTREE searches when we actually search just for one item. Make sure we search only with SCOPE_BASE to improve the performance. One not so efficient iteration was also changed to list comprehension to speed things up a tiny bit.
* ipa-client-install hangs if the discovered server is unresponsiveMartin Kosek2011-10-122-3/+6
| | | | | | | | Add a timeout to the wget call to cover a case when autodiscovered server does not response to our attempt to download ca.crt. Let user specify a different IPA server in that case.
* Improve handling of GIDs when migrating groupsMartin Kosek2011-10-113-15/+67
| | | | | | | | | | | | Since IPA v2 server already contain predefined groups that may collide with groups in migrated (IPA v1) server (for example admins, ipausers), users having colliding group as their primary group may happen to belong to an unknown group on new IPA v2 server. Implement --group-overwrite-gid option to overwrite GID of already existing groups to prevent this issue.
* Ticket 1718 - Fix Spanish po translation fileJohn Dennis2011-10-111-540/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were quite errors in es.po, it was difficult or impossible to track down where they came from, Transifex does not have good revision history. I fixed about 20% of the msgstr's in the file that had obvious problems which could be spotted by a non-Spanish speaking person. Spurious backslashes and backslash-newlines had been introduced. I tracked this particular problem down to a bug in polib. polib is a Python library which can read/write po/mo files. In Fedora it's packaged as python-polib. polib is used by the Transifex instance to read/write po files. We don't currently use polib in IPA (that will change soon though) but I wrote utilities using polib to help fix the bad po file and analyze what had gone wrong. I discovered that if one simply uses polib to read a po file into memory and they write that po file back out from memory you don't end up with the same contents if there are backslashed escapes in the file. I tracked this down to the escape() and unescape() functions in polib. This caused me to look to see if upstream polib had been fixed. It had. Therefore I think the spurious backslashes were introduced when Transifex was using an older broken version of polib. I filed this Fedora bug to get the fixes into python-polib. I manually corrected all the backslash errors. I compared all 1329 translations from a known good version of es.po with the current version and generated a new es.po by taking the translation (e.g. msgstr) from the two po files which was obviously correct. In those instances where neither msgstr was obviosuly correct the deleted the translation entirely. I also wrote utilities to validate any "substitution" variables appearing in the text. I discovered a number of instances where the substitution variable had been malformed by the translator such that it was syntactically invalid. This is how we originally discovered problems with the translation, it was throwing Python exceptions. I fixed all those errors. I also found approximately 80 translations where the leading whitespace had been altered by the translator. Those also were fixed. I cannot verify that the remaining translations are a correct Spanish translation of the original text (in fact a number of them I looked at seemed dubious to me, for example it omitted recongnizable keywords). But I do believe that the obvious errors are fixed and we shouldn't be throwing any more Python exceptions because of malformed substitution variables.
* Remove more redundant configuration values from krb5.conf.Jan Cholasta2011-10-112-12/+0
| | | | ticket 1358
* Don't leak passwords through kdb5_ldap_util command line arguments.Jan Cholasta2011-10-111-2/+8
| | | | ticket 1948
* Make ipa-join work against an LDAP server that disallows anon bindsRob Crittenden2011-10-113-109/+94
| | | | | | | | | | | | | | | 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.
* Write KRB5REALM to /etc/sysconfig/krb5kdc and make use of common ↵Alexander Bokovoy2011-10-111-21/+9
| | | | | | | | | | | 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:
* Refactor backup_and_replace_hostname() into a flexible config modification toolAlexander Bokovoy2011-10-112-40/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 that uses these common tools and restores security context after editing. The code will be used extensively for systemd integration for Fedora 16. Fixes:
* Fix upgrades of selfsign serverRob Crittenden2011-10-111-0/+3
| | | | | | | 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.
* Disallow deletion of global password policy.Jan Cholasta2011-10-122-0/+21
| | | | ticket 1936
* Added missing fields to password policy pagePetr Vobornik2011-10-101-2/+10
| | | | | | No editable fields exist for "maxfail", "failinterval" "lockouttime" and "priority" in password policy page.
* Include indirect membership and canonicalize hosts during HBAC rules testingAlexander Bokovoy2011-10-101-7/+23
| | | | | | | | | | | | | | | | | | | | | | 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:
* Force kerberos realm to be a stringAlexander Bokovoy2011-10-101-1/+1
| | | | | | 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.
* Fix dnszone-add name_from_ip server validationMartin Kosek2011-10-112-1/+56
| | | | | | | | | | | | 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
* Fix i18n in config pluginMartin Kosek2011-10-111-2/+2
* Improve default user/group object class validationMartin Kosek2011-10-112-1/+27
| | | | | | | | | | | | 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
* Increase number of 'getent passwd attempts' to 10Alexander Bokovoy2011-10-111-4/+4
| | | | | | | | 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.