Go to file
Fraser Tweedale b8007e14cc rpc: always read response
If the server responds 401 and the response body is empty, the
client raises ResponseNotReady.  This occurs because:

1. For a non-200 response, the response read only if the
   Content-Length header occurs.

2. The response must be read before another request (e.g. the
   follow-up request with WWW-Authenticate header set), and this
   condition was not met.  For details see
   https://github.com/python/cpython/blob/v3.6.7/Lib/http/client.py#L1305-L1321.

This situation should not arise in regular use, because the client
either has a session cookie, or, knowing the details of the server
it is contacting, it establishes the GSS-API context and includes
the WWW-Authenticate header in the initial request.

Nevertheless, this problem has been observed in the wild.  I do not
know its ordinary cause(s), but one can force the issue by removing
an authenticated user's session cache from /run/ipa/ccaches, then
performing a request.

Resolve the issue by always reading the response.  It is safe to
call response.read() regardless of whether the Content-Length header
appears, or whether the body is empty.

Fixes: https://pagure.io/freeipa/issue/7752
Reviewed-By: Christian Heimes <cheimes@redhat.com>
2018-11-07 08:39:42 +01:00
asn1 fix minor spelling mistakes 2017-05-19 09:52:46 +02:00
client Fix ressource leak in client/config.c get_config_entry 2018-10-23 16:45:22 +02:00
contrib Improve Python configuration for LGTM 2018-10-26 18:04:23 +02:00
daemons ipapwd_pre_mod: NULL ptr deref 2018-11-01 13:56:31 +01:00
doc Have all the scripts run in python 3 by default 2018-02-15 18:43:12 +01:00
init Move ipa's systemd tmpfiles from /var/run to /run 2018-10-15 10:04:33 +02:00
install UI tests for "Automember": check setting default user/host group 2018-10-30 16:26:29 +01:00
ipaclient Fix misleading errors during client install rollback 2018-10-26 08:11:03 +02:00
ipalib rpc: always read response 2018-11-07 08:39:42 +01:00
ipaplatform Fix misleading errors during client install rollback 2018-10-26 08:11:03 +02:00
ipapython ipaldap: avoid invalid modlist when attribute encoding differs 2018-11-06 10:59:06 +01:00
ipaserver Enable replica install info logging to match ipa-server-install 2018-11-01 13:08:58 +01:00
ipatests WebUI tests: Make possible to use kwargs with @screenshot decorator 2018-10-31 11:55:35 +01:00
po Import updated translations from Zanata 2018-10-02 12:10:21 +02:00
pypi Cleanup shebang and executable bit 2018-07-05 19:46:42 +02:00
util Move fips_enabled to a common library to share across different plugins 2018-08-13 14:42:16 +02:00
.freeipa-pr-ci.yaml Making nigthly test definition editable by FreeIPA's contributors 2018-07-27 09:50:06 +02:00
.git-commit-template git-commit-template: update ticket url to use pagure.io instead of fedorahosted.org 2017-03-28 13:10:08 +02:00
.gitignore Rename Python scripts and add dynamic shebang 2018-08-23 14:49:06 +02:00
.lgtm.yml Improve Python configuration for LGTM 2018-10-26 18:04:23 +02:00
.mailmap Add entry for Serhii to mailmap 2018-10-05 12:00:41 +02:00
.test_runner_config.yaml Update annobin to fix continuous-integration/travis-ci/pr issues 2018-10-23 15:55:36 +02:00
.tox-install.sh tox testing support for client wheel packages 2017-04-12 16:53:22 +02:00
.travis_run_task.sh Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
.travis.yml Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
.wheelconstraints.in Use pylint 1.7.5 with fix for bad python3 import 2017-12-19 13:28:06 +01:00
ACI.txt Allow user administrator to change user homedir 2018-05-10 10:05:22 +02:00
API.txt Find orphan automember rules 2018-10-10 09:56:40 +02:00
autogen.sh build tweaks - use automake's foreign mode, avoid creating empty files to satisfy gnu mode - run autoreconf -f to ensure that everything matches 2010-11-29 11:39:55 -05:00
BUILD.txt Update builddep command in BUILD.txt 2018-07-17 16:52:31 +02:00
CODE_OF_CONDUCT.md Changing Django's CoC to reflect FreeIPA CoC 2018-03-26 09:51:25 +02:00
configure.ac Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
Contributors.txt Update list of contributors 2018-10-05 12:02:39 +02:00
COPYING Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
COPYING.openssl Add a clear OpenSSL exception. 2015-02-23 16:25:54 +01:00
freeipa.doap.rdf Adding modified DOAP file 2018-06-22 11:02:40 -04:00
freeipa.spec.in Require Dogtag 10.6.7-3 2018-10-26 21:37:39 +02:00
ipa.in Rename Python scripts and add dynamic shebang 2018-08-23 14:49:06 +02:00
ipasetup.py.in Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
make-doc Make an ipa-tests package 2013-06-17 19:22:50 +02:00
make-test Use pytest conftest.py and drop pytest.ini 2017-01-05 17:37:02 +01:00
makeaci.in Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
makeapi.in Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
Makefile.am Add Coverity Scan target 2018-10-24 18:28:23 +02:00
Makefile.python.am Add PYTHON_INSTALL_EXTRA_OPTIONS and --install-layout=deb 2017-03-15 13:48:23 +01:00
Makefile.pythonscripts.am Generate scripts from templates 2018-08-23 14:49:06 +02:00
makerpms.sh makerpms.sh: make git checkout optional 2017-08-18 11:46:13 +02:00
pylint_plugins.py Add pylint ignore to magic config.Env attributes 2018-07-13 19:56:03 +02:00
pylintrc Py3: Remove subclassing from object 2018-09-27 11:49:04 +02:00
README.md Correction of management spelling. 2018-04-04 10:23:18 +02:00
server.m4 Correcting detect typo in server.m4 2018-04-05 11:25:01 +02:00
tox.ini Remove Python 2 support and packages 2018-09-06 17:39:00 +02:00
VERSION.m4 Find orphan automember rules 2018-10-10 09:56:40 +02:00
zanata.xml Zanata: exlude testing ipa.pot file 2016-11-21 14:47:47 +01:00

FreeIPA Server

FreeIPA allows Linux administrators to centrally manage identity, authentication and access control aspects of Linux and UNIX systems by providing simple to install and use command line and web based management tools.

FreeIPA is built on top of well known Open Source components and standard protocols with a very strong focus on ease of management and automation of installation and configuration tasks.

FreeIPA can seamlessly integrate into an Active Directory environment via cross-realm Kerberos trust or user synchronization.

Benefits

FreeIPA:

  • Allows all your users to access all the machines with the same credentials and security settings
  • Allows users to access personal files transparently from any machine in an authenticated and secure way
  • Uses an advanced grouping mechanism to restrict network access to services and files only to specific users
  • Allows central management of security mechanisms like passwords, SSH Public Keys, SUDO rules, Keytabs, Access Control Rules
  • Enables delegation of selected administrative tasks to other power users
  • Integrates into Active Directory environments

Components

The FreeIPA project provides unified installation and management tools for the following components:

Project Website

Releases, announcements and other information can be found on the IPA server project page at http://www.freeipa.org/ .

Documentation

The most up-to-date documentation can be found at http://freeipa.org/page/Documentation .

Quick Start

To get started quickly, start here: http://www.freeipa.org/page/Quick_Start_Guide

For developers

Licensing

Please see the file called COPYING.

Contacts