Commit Graph

2063 Commits

Author SHA1 Message Date
Rob Crittenden
cbb262dc07 Add LDAP server fallback to client installer
Change the discovery code to validate all servers, regardless of where
the originated (either via SRV records or --server). This will prevent
the client installer from failing if one of those records points to a
server that is either not running or is not an IPA server.

If a server is not available it is not removed from the list of configured
servers, simply moved to the end of the list.

If a server is not an IPA server it is removed.

https://fedorahosted.org/freeipa/ticket/3388
2013-02-07 16:49:31 -05:00
Ana Krivokapic
076775a0f8 Take into consideration services when deleting replicas
When deleting a replica from IPA domain:
* Abort if the installation is about to be left without CA
* Warn if the installation is about to be left without DNS

Ticket: https://fedorahosted.org/freeipa/ticket/2879
2013-02-06 16:20:37 -05:00
Petr Viktorin
b27267b00a Don't add another nsDS5ReplicaId on updates if one already exists
Modify update file to use default: rather than add: in
cn=replication,cn=etc,$SUFFIX.

Drop quotes around nsDS5ReplicaRoot because default: values
are not parsed as CSV.

https://fedorahosted.org/freeipa/ticket/3394
2013-02-06 12:22:00 +01:00
Petr Viktorin
26c498736e Port ipa-replica-prepare to the admintool framework
Break the script into several smaller methods.

Use modern idioms: os.path.join instead of string addition; the with statement
for closing files.

Add --quiet, --verbose, and --log-file options. Use logging instead of print
statements. (http://freeipa.org/page/V3/Logging_and_output)

Part of: https://fedorahosted.org/freeipa/ticket/2652
Fixes: https://fedorahosted.org/freeipa/ticket/3285
2013-02-01 13:44:59 -05:00
Martin Kosek
893064f613 Use fully qualified CCACHE names
Some parts of install scripts used only ccache name as returned by
krbV.CCache.name attribute. However, when this name is used again
to initialize krbV.CCache object or when it is used in KRB5CCNAME
environmental variable, it fails for new DIR type of CCACHE.

We should always use both CCACHE type and name when referring to
them to avoid these crashes. ldap2 backend was also updated to
accept directly krbV.CCache object which contains everything we need
to authenticate with ccache.

https://fedorahosted.org/freeipa/ticket/3381
2013-02-01 08:13:50 +01:00
Martin Kosek
3ad8d7c1fb Remove unused krbV imports
https://fedorahosted.org/freeipa/ticket/3381
2013-02-01 08:13:17 +01:00
Tomas Babej
0beaad9686 Fix a typo in ipa-adtrust-install help
"Add SIDs for existing users andgroups as the final step" changed
to "Add SIDs for existing users and groups as the final step".
2013-01-31 14:11:30 +01:00
Rob Crittenden
045b6e6ed9 Use new certmonger locking to prevent NSS database corruption.
dogtag opens its NSS database in read/write mode so we need to be very
careful during renewal that we don't also open it up read/write. We
basically need to serialize access to the database. certmonger does the
majority of this work via internal locking from the point where it generates
a new key/submits a rewewal through the pre_save and releases the lock after
the post_save command. This lock is held per NSS database so we're save
from certmonger. dogtag needs to be shutdown in the pre_save state so
certmonger can safely add the certificate and we can manipulate trust
in the post_save command.

Fix a number of bugs in renewal. The CA wasn't actually being restarted
at all due to a naming change upstream. In python we need to reference
services using python-ish names but the service is pki-cad. We need a
translation for non-Fedora systems as well.

Update the CA ou=People entry when he CA subsystem certificate is
renewed. This certificate is used as an identity certificate to bind
to the DS instance.

https://fedorahosted.org/freeipa/ticket/3292
https://fedorahosted.org/freeipa/ticket/3322
2013-01-29 11:16:38 -05:00
Petr Viktorin
b382a77fc3 Add the CA cert to LDAP after the CA install
The DS is installed before the CA cert is generated. Trying to
add the cert to LDAP before it exists resulted in a nasty-looking
error message.

This moves the cert upload to after the CA cert is ready and the
certdb is created.

Move the cert upload to after thecertdb is generated.

https://fedorahosted.org/freeipa/ticket/3375
2013-01-29 15:42:24 +01:00
Rob Crittenden
d5966bde80 Update anonymous access ACI to protect secret attributes.
Update anonymous access ACI so that no users besides Trust Admins
users can read AD Trust key attributes (ipaNTTrustAuthOutgoing,
ipaNTTrustAuthIncoming). The change is applied both for updated
IPA servers and new installations.
2013-01-23 15:31:48 -05:00
Simo Sorce
18eea90ebb Upload CA cert in the directory on install
This will later allow clients to securely download the CA cert by
performaing mutual auth using LDAP with GSSAPI
2013-01-23 14:26:41 -05:00
Petr Vobornik
5d919c9556 Change tests to use AMD loader
Test were modified accordingly to AMD changes.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:37 +01:00
Petr Vobornik
c71937fc0c Updated makefiles to build FreeIPA Web UI layer
Updated makefiles to comply to new directory structure and also to use builder
for building Web UI.

FreeIPA package spec is modified to use the output of the builder.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:37 +01:00
Petr Vobornik
5e90c98849 Change Web UI sources to simple AMD modules
Web UI sources were wrapped by AMD definition. Listed dependencies were changed
accordingly.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
e3ce3e4f39 AMD config file
Added configuration file for DOJO loader. Removal of JS links from index.html of
files which were changed to AMD modules.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
be0a120134 Update JavaScript Lint configuration file
Update is needed because various files were moved to different directories.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
b9ef6ab0c4 Move of core Web UI files to AMD directory
SSIA

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
8f8e790d94 Move of Web UI non AMD dep. libs to libs subdirectory
Third party JS libraries which are not AMD modules were moved to src/libs/
directory. Links in html files were changed accordingly.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
65301fe3f3 Web UI Sync development utility
Add util/sync.sh utility. It serves for copying source codes or compiled code
of Web UI to testing servers. Useful for development.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
92de64ec73 Web UI development environment directory structure and configuration
Added symbolic links which points to directories which should contain files of
Web UI layers. By changing those links we can switch between debugging (using
source codes) or testing (compiled version).

util/change-profile.sh utility serves for changing symbolic links in js/ dir
and therefore for switching between debugging and testing.

Default configuration for development is:
 * freeipa source files
 * libs as in git
 * compiled Dojo layer

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
217341560c Minimal Dojo layer
Added configuration files for building Dojo library and built library itself.

This configuration contains only modules currently needed.

make-dojo.sh script should be used for rebuilding the library when additional
modules or an update are needed.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
339790ec8e Config files for builder of FreeIPA UI layer
* Added package configuration and build profile of FreeIPA UI layer for
  Dojo Builder.
* Added script (util/make-ui.sh) which builds the layer

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00
Petr Vobornik
9d3364719d Dojo Builder
Added support for Dojo builder.

 * Includes built builder and patches required to build the builder.
 * _base/configRhino.js is required by the builder to run under rhino.
 * added utility scripts for running the builder
    * build.sh
    * clean.sh
    * compile.sh
    * make-builder.sh
    * prepare-dojo.sh

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00
Petr Vobornik
8c59ddbcbe Use Uglify.js for JS optimization
Uglify.js library was included in ui/util folder. A wrapper script
util/uglifyjs/uglify was created to run Uglify.js in Rhino enviroment.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00
Petr Vobornik
c19af96cb8 Enable mod_deflate
Enabled mod_deflate for:
* text/html (HTML files)
* text/plain (for future use)
* text/css (CSS files)
* text/xml (XML RPC)
* application/javascript (JavaScript files)
* application/json (JSON RPC)
* application/x-font-woff (woff fonts)

Added proper mime type for woff fonts.
Disabled etag header because it doesn't work with mod_deflate.

https://fedorahosted.org/freeipa/ticket/3326
2013-01-17 17:19:29 +01:00
Ana Krivokapic
3bd96ddf05 Add crond as a default HBAC service
Ticket: https://fedorahosted.org/freeipa/ticket/3215
2013-01-17 09:50:48 -05:00
Martin Kosek
476aacd699 Upgrade process should not crash on named restart
When either dirsrv or krb5kdc is down, named service restart in
ipa-upgradeconfig will fail and cause a crash of the whole upgrade
process.

Rather only report a failure to restart the service and continue
with the upgrade as it does not need the named service running. Do
the same precaution for pki-ca service restart.

https://fedorahosted.org/freeipa/ticket/3350
2013-01-15 16:35:41 +01:00
Martin Kosek
79bcf904a5 Avoid CRL migration error message
When CRL files are being migrated to a new directory, the upgrade
log may contain an error message raised during MasterCRL.bin symlink
migration. This is actually being caused by `chown' operation which
tried to chown a symlinked file that was not migrated yet.

Sort migrated files before the migration process and put symlinks
at the end of the list. Also do not run chown on the symlinks as
it is a redundant operation since the symlinked file will be
chown'ed on its own.

https://fedorahosted.org/freeipa/ticket/3336
2013-01-11 10:54:10 +01:00
Petr Vobornik
14b353b097 Focus first input element after 'Add and Add another'
When using 'Add and Add Another' button in entity adder dialog the dialog lose focus when an item is successfully added.

It caused by search dialog filter input. It gets focus in search facet's refresh. The refresh is happening when item is added.

This patch is disabling this focus and additionally is focusing first input element to allow imidiate definion of another item
2013-01-07 10:53:59 +01:00
Petr Vobornik
e433379c46 Standardize login password reset, user reset password and host set OTP dialogs
In all dialogs:
 * validation notification was standardized
 * can be confirmed by enter

User pwd dialog has fixed focus of first element.

https://fedorahosted.org/freeipa/ticket/2884
https://fedorahosted.org/freeipa/ticket/3200

Standartize password reset dialog
2013-01-07 10:53:58 +01:00
Petr Vobornik
3df18f5583 Confirm association dialogs by enter
Support for confirm mixin in association dialog.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
731fce88a1 Focus last dialog when some is closed
When multiple dialogs is opened and one is closed the new top dialog doesn't recieve focus. It prevents from confirming/canceling the dialog using keyboard. This patch is fixing it.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
7d457d521e Confirm error dialog by enter
Refactored error dialog and unauthorized dialog to support confirm mixin.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
d14f76ef14 Confirm adder dialog by enter
Added confirm mixin support to entity adder dialog.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
5bde270436 Confirm mixin
Base mixin class for dialogs witch confirmation/canceling capabilities.

When used, dialog can be 'confirmed' by 'enter' key or canceled by 'escape' key. It doesn't accept confirmation from all elements to not override default expected behavior like creating new line in text area, executing link or selecting a value in a select element.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
b33f6acfa8 Make confirm_dialog a base class for message_dialog
https://fedorahosted.org/freeipa/ticket/3035
2013-01-07 10:53:58 +01:00
Petr Vobornik
c23dd23219 Make confirm_dialog a base class for deleter dialog
https://fedorahosted.org/freeipa/ticket/3035
2013-01-07 10:53:58 +01:00
Petr Vobornik
16663cb215 Make confirm_dialog a base class of revoke and restore certificate dialogs
https://fedorahosted.org/freeipa/ticket/3035
2013-01-07 10:53:58 +01:00
Lynn Root
c481e40d78 Fixed the catch of the hostname option during ipa-server-install
Originally ipa-server-install would still prompt for the hostname even if it's supplied in the initial installation command.

Ticket: https://fedorahosted.org/freeipa/ticket/2692
2012-12-11 11:04:02 +01:00
Martin Kosek
211f6c9046 Stop and disable conflicting time&date services
Fedora 16 introduced chrony as default client time&date synchronization
service:
http://fedoraproject.org/wiki/Features/ChronyDefaultNTP
Thus, there may be people already using chrony as their time and date
synchronization service before installing IPA.

However, installing IPA server or client on such machine may lead to
unexpected behavior, as the IPA installer would configure ntpd and leave
the machine with both ntpd and chronyd enabled. However, since the OS
does not allow both chronyd and ntpd to be running concurrently and chronyd
has the precedence, ntpd would not be run on that system at all.

Make sure, that user is warned when trying to install IPA on such
system and is given a possibility to either not to let IPA configure
ntpd at all or to let the installer stop and disable chronyd.

https://fedorahosted.org/freeipa/ticket/2974
2012-12-07 13:07:36 -05:00
Martin Kosek
867f7691e9 Add OCSP and CRL URIs to certificates
Modify the default IPA CA certificate profile to include CRL and
OCSP extensions which will add URIs to IPA CRL&OCSP to published
certificates.

Both CRL and OCSP extensions have 2 URIs, one pointing directly to
the IPA CA which published the certificate and one to a new CNAME
ipa-ca.$DOMAIN which was introduced as a general CNAME pointing
to all IPA replicas which have CA configured.

The new CNAME is added either during new IPA server/replica/CA
installation or during upgrade.

https://fedorahosted.org/freeipa/ticket/3074
https://fedorahosted.org/freeipa/ticket/1431
2012-12-07 11:00:17 -05:00
Petr Vobornik
8d892f442f Better error message for login of users from other realms
When user from other realm than FreeIPA's tries to use Web UI (login via forms-based auth or with valid trusted realm ticket), he gets an unauthorized error with X-Ipa-Rejection-Reason=denied. Web UI responds with showing login dialog with following error message: 'Sorry you
are not allowed to access this service.'.

Note: such users are not supported because they don't have a corresponding entry in LDAP which is needed for ACLs.

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

denied change
2012-12-06 17:02:03 +01:00
Jakub Hrozek
b64dc9362d Specify includedir in krb5.conf on new installs
https://fedorahosted.org/freeipa/ticket/3132
2012-12-06 10:53:22 -05:00
Martin Kosek
152585e731 Improve ipa-replica-prepare error message
When DNS zone/record manipulation commands fails for example due to
a ValidationError, ipa-replica-prepapre reports a whole traceback
which is difficult to read. Make sure our error error is more
readable.

https://fedorahosted.org/freeipa/ticket/3283
2012-12-06 08:00:27 +01:00
Rob Crittenden
62e7053a12 Only update the list of running services in the installer or ipactl.
The file is only present in the case of a server installation.

It should only be touched by the server installer and ipactl.

https://fedorahosted.org/freeipa/ticket/3277
2012-12-05 10:44:44 -05:00
Petr Vobornik
082bd0f69d Better licensing information of 3rd party code
README-LICENSE.txt file with licensing information of third party code used by
Web UI in production or development was added.

https://fedorahosted.org/freeipa/ticket/3281
2012-12-05 15:51:50 +01:00
Martin Kosek
3896bf370a Change network configuration file
Fedora+systemd changed deprecated /etc/sysconfig/network which was
used by IPA to store static hostname for the IPA machine. See
https://bugzilla.redhat.com/show_bug.cgi?id=881785 for details.

Change Fedora platform files to store the hostname to /etc/hostname
instead.

https://fedorahosted.org/freeipa/ticket/3279
2012-12-05 13:30:31 +01:00
Petr Vobornik
0833f594c1 Editable sshkey, mac address field after upgrade
After upgrade, sshkeys of existing users and hosts or mac address are not editable because attribute level rights are not send to Web UI due to lack of ipasshuser/ieee802device object classes.

'w_if_no_aci' attribute flag was introduced to bypass this issue. It makes attribute writable when AttributeLevelRights for the attribute are not present and only when user posses rights for modifying object class attribute.

The flag was set for sshkeys_field and mac address field.

https://fedorahosted.org/freeipa/ticket/3260
2012-11-29 09:38:04 +01:00
Petr Vobornik
730a500567 WebUI: Change of default value of type of new group back to POSIX
In FreeIPA 2.2, the default for group type was 'POSIX', in 3.0 it's 'normal' (non-posix). CLI's default is 'POSIX', Web UI should use 'POSIX' as well.

https://fedorahosted.org/freeipa/ticket/3270
2012-11-29 09:37:49 +01:00
Petr Viktorin
bef251a13c Make ipa-csreplica-manage work with both merged and non-merged DBs
The ipa-csreplica-manage tool often assumed that the port numbers are the
same on both sides of a replication agreement.
This assumption doesn't hold in a cluster with both old-style hosts and
ones with merged DBs.

When managing agreements, determine the port with the PKI (or merged) DS
on each master, and use it.

Also, in CSReplicationManager, always use starttls rather than ldaps://.
2012-11-23 12:19:20 +01:00