Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (180)
230760ff
VERSION.m4: Set back to git snapshot
May 15, 2018
a0e846f5
Return unique error when automount is already or not configured
May 16, 2018
a0eaa742
Client install should handle automount unconfigured on uninstall
May 16, 2018
c61151f6
pylint3: workaround false positives reported for W1662
May 17, 2018
b82af698
Radius proxy multiservers fix
May 17, 2018
8d508b8e
ui_tests: extend test_selinuxusermap.py suite
May 18, 2018
0959c476
ui_tests: add click_undo_button() func
May 18, 2018
3508227f
Extend WebUI test_krbpolicy suite with the following test cases:...
May 18, 2018
3c9810e9
webui:tests: Add tests for realmd domains
May 18, 2018
d4f2f53e
ipa-advise: remove plugin config-fedora-authconfig
May 21, 2018
75e86f2f
Run PR-CI with Fedora 28
May 22, 2018
e06c7566
ipa vault-archive overwrites an existing value without warning
May 22, 2018
952b45a3
Travis: ignore 'line break after binary operator'
May 24, 2018
1e5c3d7c
Reproducer for issue 5923 (bytes in error response)
May 25, 2018
59ea5800
Require python-ldap >= 3.1.0
May 25, 2018
dbc37884
Use GnuPG 2 for symmentric encryption
May 27, 2018
8e165480
Use GnuPG 2 for backup/restore
May 27, 2018
45d776a7
Don't try to set Kerberos extradata when there is no principal
May 27, 2018
7c5ecb8d
Rename test class for testing simple commands, add test
May 27, 2018
af99032d
ipa-server-install: publish complete cert chain in /usr/share/ipa/html/ca.crt
May 28, 2018
1d70ce85
Test for 7526
May 28, 2018
9b8bb85e
Add test case for allow-create-keytab
May 29, 2018
9a9c8ced
Use sane default settings for ldap connections
May 29, 2018
829998b1
Apply sane LDAP settings to C code
May 29, 2018
172df673
Refuse PORT, HOST in /etc/openldap/ldap.conf
May 29, 2018
0030118d
Create kadm5.acl if it doesn't exist
May 29, 2018
7a27651a
constants: Fix HTTPD_GROUP for Debian
May 29, 2018
a3a3d6da
paths: Fix some path definitions for Debian.
May 29, 2018
86ef31d7
Add mkhomedir support for Debian
May 29, 2018
c5ee8ae5
named.conf: Disable duplicate zone on debian, and modify data dir
May 29, 2018
ffdb20ae
ldapupdate: Add support for Debian multiarch
May 29, 2018
8c0d7bb9
Fix HTTPD SSL configuration for Debian.
May 29, 2018
f47d86c7
Move config directives handling code
May 29, 2018
fb16bc93
Require JSS 4.4.4 with fix for sub CA replication
May 30, 2018
2256f9ef
Validate the Directory Manager password before starting restore
May 30, 2018
59b3eb04
Add tests for ipa-restore with DM password validation check
May 30, 2018
1da3eddf
Handle compressed responses from Dogtag
May 30, 2018
0a87de5e
Backport gzip.decompress for Python 2
May 30, 2018
4274b361
Test to check second replica installation after master restore
May 31, 2018
3e4b9cd9
Adding WebUI Host test cases
May 31, 2018
a2e8d989
Fix elements not being removed in otpd_queue_pop_msgid()
May 31, 2018
cf25823e
Print version string in installer
May 31, 2018
816daf93
Add missing space in error string
Jun 01, 2018
3927b0e7
Extended UI test for selfservice permission.
Jun 01, 2018
326fd6a7
Match Common Name attribute in Subject
Jun 05, 2018
992a5f48
Move client templates to separate directory
Jun 05, 2018
f03df5fe
Adding xfail to failing tests
Jun 07, 2018
2b3eb5c5
Disable Schema Compat plugin during server upgrade
Jun 07, 2018
f976f6cf
Use replace instead of add to set new default ipaSELinuxUserMapOrder
Jun 08, 2018
b1f368c6
ui_tests: fixes for issues with sending key and focus on element
Jun 08, 2018
53330738
Use one Custodia peer to retrieve all secrets
Jun 10, 2018
ed52baba
Make Python 2 build dependency optional
Jun 11, 2018
390251d3
Always build Python 3 packages
Jun 11, 2018
ec9ea73b
Uninstall fix for named-pkcs11
Jun 11, 2018
283987c1
Revert "Fixing TestBackupAndRestore::test_full_backup_and_restore_with_removed_users"
Jun 11, 2018
fe70a9e6
Suppress missing cn=schema compat on installation
Jun 11, 2018
c74f65ef
Split external_ca PR-CI into two jobs
Jun 11, 2018
f5a04da9
Fix translation of commands description in API Browser
Jun 12, 2018
114e46b7
Test coverage for multiservers for radius proxy
Jun 13, 2018
7d12bbb9
Use python3-lesscpy 0.13.0
Jun 14, 2018
907e1649
Fedora 29 renamed fedora-domainname.service
Jun 15, 2018
f1d5ab3a
Increase WSGI process count to 5 on 64bit
Jun 15, 2018
4f4835a7
Test for ipa-replica-install fails with PIN error for CA-less env.
Jun 18, 2018
eda831db
Installer: configure authselect with-sudo
Jun 19, 2018
f90e137a
Sort and shuffle SRV record by priority and weight
Jun 19, 2018
57fd79ff
Replace some test case adjectives
Jun 19, 2018
bdc3e3c5
Extended UI test for Certificates
Jun 19, 2018
f1c7d3c2
Start to deprecate Python 2 and 3.5
Jun 19, 2018
2d278720
ui_tests: extend test_config.py suite
Jun 19, 2018
0b794cd4
fix dependency for *-domainname.service file
Jun 19, 2018
b9690615
Improve console logging for ipa-server-install
Jun 20, 2018
8ea22745
Drop attr defaultServerList if removing the last server
Jun 20, 2018
00ddb5dd
server install: drop some print statements, change log level
Jun 20, 2018
036d51d5
Handle subyptes in ACIs
Jun 20, 2018
9ead7084
Test that host can remove there own services
Jun 20, 2018
84ae625f
check nsds5ReplicaReleaseTimeout option was set
Jun 20, 2018
8c3ff030
Always set ca_host when installing replica
Jun 21, 2018
f4716b69
Add support for format method to translation objects
Jun 21, 2018
854597c4
Use intended format() method of translation object
Jun 21, 2018
65414d14
Fix formatted translations in domainlevel plugin
Jun 21, 2018
229f1608
Fix translation of idrange_* commands description
Jun 21, 2018
6f245db8
Fix formatted translations in trust plugin
Jun 21, 2018
1dfdbfd8
Fix formatted translations of error messages in serverroles plugin
Jun 21, 2018
4b3bc490
Fix formatted translations of error messages in topology plugin
Jun 21, 2018
6fb45d2f
test_dnssec: re-add named-pkcs11 workarounds
Jun 21, 2018
dae4aac9
Tests: Set default TTL for DNS zones to 1 sec
Jun 21, 2018
3a8f0bb1
Remove restarted_named and xfail
Jun 21, 2018
32ed10ca
Apply validate_doc() to NO_CLI commands
Jun 21, 2018
c1f7a14c
Fix some untranslatable commands in Web UI API Browser
Jun 21, 2018
de8d3081
ipaserver config plugin: Increase search records minimum limit
Jun 21, 2018
14c869b3
Improve and fix timeout bug in wait_for_entry()
Jun 22, 2018
1b966f70
Use common replication wait timeout of 5min
Jun 22, 2018
ad838c37
Fix replication races in Dogtag admin code
Jun 22, 2018
c7ac8b91
DOAP Description for IPA Project
Jun 22, 2018
89ae4341
Adding modified DOAP file
Jun 22, 2018
e90d90c5
Check if issuer DN is updated after self-signed > external-ca
Jun 25, 2018
0e21d933
Use 4 WSGI workers on 64bit systems
Jun 25, 2018
ba8cbb8c
Ensure that public cert and CA bundle are readable
Jun 27, 2018
1434f2a2
Always make ipa.p11-kit world-readable
Jun 27, 2018
89b2137d
Make /etc/httpd/alias world readable & executable
Jun 27, 2018
Show whitespace changes
Inline
Side-by-side
.freeipa-pr-ci.yaml
View file @
f84b3f39
...
...
@@ -13,7 +13,7 @@ topologies:
memory
:
6700
jobs
:
fedora-2
7
/build
:
fedora-2
8
/build
:
requires
:
[]
priority
:
100
job
:
...
...
@@ -21,189 +21,224 @@ jobs:
args
:
git_repo
:
'
{git_repo}'
git_refspec
:
'
{git_refspec}'
template
:
&ci-master-f2
7
name
:
freeipa/ci-master-f2
7
version
:
1.0.3
template
:
&ci-master-f2
8
name
:
freeipa/ci-master-f2
8
version
:
0.1.5
timeout
:
1800
topology
:
*build
fedora-2
7
/simple_replication
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/simple_replication
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_simple_replication.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/caless
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/caless
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_caless.py::TestServerReplicaCALessToCAFull
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/external_ca
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/external_ca
_1
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-27/build_url}'
test_suite
:
test_integration/test_external_ca.py::TestExternalCA test_integration/test_external_ca.py::TestSelfExternalSelf test_integration/test_external_ca.py::TestExternalCAInstall
template
:
*ci-master-f27
build_url
:
'
{fedora-28/build_url}'
test_suite
:
test_integration/test_external_ca.py::TestExternalCA
template
:
*ci-master-f28
timeout
:
3600
topology
:
*master_1repl_1client
fedora-28/external_ca_2
:
requires
:
[
fedora-28/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-28/build_url}'
test_suite
:
test_integration/test_external_ca.py::TestSelfExternalSelf test_integration/test_external_ca.py::TestExternalCAInstall
template
:
*ci-master-f28
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_topologies
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_topologies
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_topologies.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_sudo
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_sudo
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_sudo.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl_1client
fedora-2
7
/test_
ipa_cli
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_
commands
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
test_suite
:
test_integration/test_
ipa_cli
.py
template
:
*ci-master-f2
7
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_
commands
.py
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_kerberos_flags
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_kerberos_flags
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_kerberos_flags.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl_1client
fedora-2
7
/test_http_kdc_proxy
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_http_kdc_proxy
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_http_kdc_proxy.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl_1client
fedora-2
7
/test_forced_client_enrolment
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_forced_client_enrolment
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_forced_client_reenrollment.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl_1client
fedora-2
7
/test_advise
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_advise
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_advise.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_testconfig
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_testconfig
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_testconfig.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_service_permissions
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_service_permissions
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_service_permissions.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_netgroup
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_netgroup
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_netgroup.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl
fedora-2
7
/test_vault
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_vault
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_vault.py
template
:
*ci-master-f2
7
timeout
:
36
00
template
:
*ci-master-f2
8
timeout
:
45
00
topology
:
*master_1repl
fedora-2
7
/test_authconfig
:
requires
:
[
fedora-2
7
/build
]
fedora-2
8
/test_authconfig
:
requires
:
[
fedora-2
8
/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-2
7
/build_url}'
build_url
:
'
{fedora-2
8
/build_url}'
test_suite
:
test_integration/test_authselect.py
template
:
*ci-master-f2
7
template
:
*ci-master-f2
8
timeout
:
3600
topology
:
*master_1repl_1client
fedora-28/replica_promotion
:
requires
:
[
fedora-28/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-28/build_url}'
test_suite
:
test_integration/test_replica_promotion.py::TestSubCAkeyReplication
template
:
*ci-master-f28
timeout
:
3600
topology
:
*master_1repl
fedora-28/dnssec
:
requires
:
[
fedora-28/build
]
priority
:
50
job
:
class
:
RunPytest
args
:
build_url
:
'
{fedora-28/build_url}'
test_suite
:
test_integration/test_dnssec.py::TestInstallDNSSECFirst
template
:
*ci-master-f28
timeout
:
3600
topology
:
*master_1repl
.test_runner_config.yaml
View file @
f84b3f39
...
...
@@ -28,7 +28,7 @@ steps:
builddep
:
-
rm -rf /var/cache/dnf/*
-
"
dnf
makecache
||
:"
-
dnf builddep -y ${builddep_opts} -D "with_wheels 1" --spec freeipa.spec.in --best --allowerasing
-
dnf builddep -y ${builddep_opts} -D "with_wheels 1" --spec freeipa.spec.in --best --allowerasing
--setopt=install_weak_deps=False
-
dnf install -y gdb
cleanup
:
-
chown -R ${uid}:${gid} ${container_working_dir}
...
...
@@ -47,6 +47,7 @@ steps:
configure
:
-
./autogen.sh
install_packages
:
-
sed -i 's/%_install_langs \(.*\)/\0:fr/g' /etc/rpm/macros.image-language-conf
-
dnf install -y ${container_working_dir}/dist/rpms/*.rpm --best --allowerasing
install_server
:
-
ipa-server-install -U --domain ${server_domain} --realm ${server_realm} -p ${server_password}
...
...
.test_runner_config_py3_temp.yaml
View file @
f84b3f39
...
...
@@ -30,7 +30,7 @@ steps:
builddep
:
-
rm -rf /var/cache/dnf/*
-
"
dnf
makecache
||
:"
-
dnf builddep -y ${builddep_opts} --spec freeipa.spec.in --best --allowerasing
-
dnf builddep -y ${builddep_opts} --spec freeipa.spec.in --best --allowerasing
--setopt=install_weak_deps=False
-
dnf install -y gdb
cleanup
:
-
chown -R ${uid}:${gid} ${container_working_dir}
...
...
@@ -47,6 +47,7 @@ steps:
configure
:
-
./autogen.sh
install_packages
:
-
sed -i 's/%_install_langs \(.*\)/\0:fr/g' /etc/rpm/macros.image-language-conf
-
dnf install -y ${container_working_dir}/dist/rpms/*.rpm --best --allowerasing
-
dnf install -y python3-mod_wsgi --best --allowerasing
# Py3 temporary
install_server
:
...
...
.travis_run_task.sh
View file @
f84b3f39
...
...
@@ -38,7 +38,8 @@ if [[ "$TASK_TO_RUN" == "lint" ]]
then
if
[[
"
$TRAVIS_EVENT_TYPE
"
==
"pull_request"
]]
then
git diff origin/
$TRAVIS_BRANCH
-U0
| pycodestyle
--diff
&>
$PEP8_ERROR_LOG
||
:
git diff origin/
$TRAVIS_BRANCH
-U0
|
\
pycodestyle
--ignore
=
W504
--diff
&>
$PEP8_ERROR_LOG
||
:
fi
fi
...
...
API.txt
View file @
f84b3f39
...
...
@@ -3962,7 +3962,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
option: Str('description?', cli_name='desc')
option: Int('ipatokenradiusretries?', cli_name='retries')
option: Password('ipatokenradiussecret', cli_name='secret', confirm=True)
option: Str('ipatokenradiusserver
+
', cli_name='server')
option: Str('ipatokenradiusserver', cli_name='server')
option: Int('ipatokenradiustimeout?', cli_name='timeout')
option: Str('ipatokenusermapattribute?', cli_name='userattr')
option: Flag('raw', autofill=True, cli_name='raw', default=False)
...
...
@@ -3987,7 +3987,7 @@ option: Str('cn?', autofill=False, cli_name='name')
option: Str('description?', autofill=False, cli_name='desc')
option: Int('ipatokenradiusretries?', autofill=False, cli_name='retries')
option: Password('ipatokenradiussecret?', autofill=False, cli_name='secret', confirm=True)
option: Str('ipatokenradiusserver
*
', autofill=False, cli_name='server')
option: Str('ipatokenradiusserver
?
', autofill=False, cli_name='server')
option: Int('ipatokenradiustimeout?', autofill=False, cli_name='timeout')
option: Str('ipatokenusermapattribute?', autofill=False, cli_name='userattr')
option: Flag('pkey_only?', autofill=True, default=False)
...
...
@@ -4008,7 +4008,7 @@ option: Str('delattr*', cli_name='delattr')
option: Str('description?', autofill=False, cli_name='desc')
option: Int('ipatokenradiusretries?', autofill=False, cli_name='retries')
option: Password('ipatokenradiussecret?', autofill=False, cli_name='secret', confirm=True)
option: Str('ipatokenradiusserver
*
', autofill=False, cli_name='server')
option: Str('ipatokenradiusserver
?
', autofill=False, cli_name='server')
option: Int('ipatokenradiustimeout?', autofill=False, cli_name='timeout')
option: Str('ipatokenusermapattribute?', autofill=False, cli_name='userattr')
option: Flag('raw', autofill=True, cli_name='raw', default=False)
...
...
@@ -4425,9 +4425,10 @@ output: Entry('result')
output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
output: PrimaryKey('value')
command: server_role_find/1
args: 1,
8
,4
args: 1,
9
,4
arg: Str('criteria?')
option: Flag('all', autofill=True, cli_name='all', default=False)
option: Flag('include_master', autofill=True, default=False)
option: Flag('raw', autofill=True, cli_name='raw', default=False)
option: Str('role_servrole?', autofill=False, cli_name='role')
option: Str('server_server?', autofill=False, cli_name='server')
...
...
BUILD.txt
View file @
f84b3f39
...
...
@@ -7,7 +7,7 @@ For more information, see http://www.freeipa.org/page/Build
The quickest way to get the dependencies needed for building is:
# dnf builddep -b -D
"with_python3 1" -D
"with_wheels 1" -D "with_lint 1" --spec freeipa.spec.in --best --allowerasing
# dnf builddep -b -D "with_wheels 1" -D "with_lint 1" --spec freeipa.spec.in --best --allowerasing
--setopt=install_weak_deps=False
TIP: For building with latest dependencies for freeipa master enable copr repo:
...
...
Contributors.txt
View file @
f84b3f39
...
...
@@ -29,6 +29,7 @@ Developers:
Nalin Dahyabhai
Rishabh Dave
Don Davis
Nikhil Dehadrai
John Dennis
Jason Gerard DeRose
Günther Deschner
...
...
@@ -71,6 +72,7 @@ Developers:
Peter Lacko
Stanislav Laznicka
Ade Lee
Stanislav Levin
Ben Lipton
Karl MacMillan
Niranjan Mallapadi
...
...
@@ -81,17 +83,23 @@ Developers:
Kevin McCarthy
Mark McLoughlin
Rich Megginson
Sudhir Menon
Jim Meyering
Adam Misnyovszki
Takeshi MIZUTA
Anuja More
John Morris
Niranjan MR
Brian J. Murrell
Varun Mylaraiah
Marko Myllynen
Martin Nagy
Armando Neto
David O'Brien
Dmitri Pal
Jan Pazdziora
W. Michael Petullo
Pavel Picka
Gowrishankar Rajaiyan
realsobek
Michal Reznik
...
...
@@ -102,6 +110,7 @@ Developers:
Lenka Ryznarova
Thorsten Scherf
shanyin
Kaleemullah Siddiqui
Michael Simacek
Lars Sjostrom
Filip Skola
...
...
@@ -110,6 +119,7 @@ Developers:
Simo Sorce
Petr Špaček
David Spångberg
Justin Stephenson
Diane Trout
Fraser Tweedale
Petr Viktorin
...
...
VERSION.m4
View file @
f84b3f39
...
...
@@ -20,8 +20,8 @@
# -> "1.0.0" #
########################################################
define(IPA_VERSION_MAJOR, 4)
define(IPA_VERSION_MINOR,
6
)
define(IPA_VERSION_RELEASE,
9
0)
define(IPA_VERSION_MINOR,
7
)
define(IPA_VERSION_RELEASE, 0)
########################################################
# For 'pre' releases the version will be #
...
...
@@ -31,7 +31,7 @@ define(IPA_VERSION_RELEASE, 90)
# e.g. define(IPA_VERSION_PRE_RELEASE, rc1) #
# -> "1.0.0rc1" #
########################################################
define(IPA_VERSION_PRE_RELEASE,
.pre2
)
define(IPA_VERSION_PRE_RELEASE, )
########################################################
# To mark GIT snapshots this should be set to 'yes' #
...
...
client/Makefile.am
View file @
f84b3f39
...
...
@@ -80,6 +80,7 @@ ipa_join_SOURCES = \
$(
NULL
)
ipa_join_LDADD
=
\
$(
top_builddir
)
/util/libutil.la
\
$(
KRB5_LIBS
)
\
$(
LDAP_LIBS
)
\
$(
SASL_LIBS
)
\
...
...
@@ -89,6 +90,7 @@ ipa_join_LDADD = \
$(
NULL
)
SUBDIRS
=
\
share
\
man
\
$(
NULL
)
...
...
client/ipa-client-automount
View file @
f84b3f39
...
...
@@ -43,6 +43,8 @@ from six.moves.urllib.parse import urlsplit
from
optparse
import
OptionParser
# pylint: disable=deprecated-module
from
ipaclient.install
import
ipachangeconf
,
ipadiscovery
from
ipaclient.install.client
import
(
CLIENT_NOT_CONFIGURED
,
CLIENT_ALREADY_CONFIGURED
)
from
ipalib
import
api
,
errors
from
ipalib.install
import
sysrestore
from
ipalib.install.kinit
import
kinit_keytab
...
...
@@ -189,7 +191,8 @@ def configure_autofs_sssd(fstore, statestore, autodiscover, options):
domain
.
add_provider
(
'
ipa
'
,
'
autofs
'
)
try
:
domain
.
get_option
(
'
ipa_automount_location
'
)
sys
.
exit
(
'
An automount location is already configured
'
)
print
(
'
An automount location is already configured
'
)
sys
.
exit
(
CLIENT_ALREADY_CONFIGURED
)
except
SSSDConfig
.
NoOptionError
:
domain
.
set_option
(
'
ipa_automount_location
'
,
options
.
location
)
break
...
...
@@ -252,17 +255,31 @@ def configure_autofs_common(fstore, statestore, options):
autofs
.
service_name
,
str
(
e
))
def
uninstall
(
fstore
,
statestore
):
RESTORE_FILES
=
[
paths
.
SYSCONFIG_AUTOFS
,
paths
.
NSSWITCH_CONF
,
paths
.
AUTOFS_LDAP_AUTH_CONF
,
paths
.
SYSCONFIG_NFS
,
paths
.
IDMAPD_CONF
,
]
STATES
=
[
'
autofs
'
,
'
rpcidmapd
'
,
'
rpcgssd
'
]
# automount only touches /etc/nsswitch.conf if LDAP is
# used. Don't restore it otherwise.
if
(
statestore
.
get_state
(
'
authconfig
'
,
'
sssd
'
)
or
(
statestore
.
get_state
(
'
authselect
'
,
'
profile
'
)
==
'
sssd
'
)):
RESTORE_FILES
.
remove
(
paths
.
NSSWITCH_CONF
)
if
(
not
any
(
fstore
.
has_file
(
f
)
for
f
in
RESTORE_FILES
)
or
not
any
(
statestore
.
has_state
(
s
)
for
s
in
STATES
)):
print
(
"
IPA automount is not configured on this system
"
)
return
CLIENT_NOT_CONFIGURED
print
(
"
Restoring configuration
"
)
if
fstore
.
has_file
(
paths
.
SYSCONFIG_AUTOFS
):
fstore
.
restore_file
(
paths
.
SYSCONFIG_AUTOFS
)
if
fstore
.
has_file
(
paths
.
NSSWITCH_CONF
):
fstore
.
restore_file
(
paths
.
NSSWITCH_CONF
)
if
fstore
.
has_file
(
paths
.
AUTOFS_LDAP_AUTH_CONF
):
fstore
.
restore_file
(
paths
.
AUTOFS_LDAP_AUTH_CONF
)
if
fstore
.
has_file
(
paths
.
SYSCONFIG_NFS
):
fstore
.
restore_file
(
paths
.
SYSCONFIG_NFS
)
if
fstore
.
has_file
(
paths
.
IDMAPD_CONF
):
fstore
.
restore_file
(
paths
.
IDMAPD_CONF
)
for
filepath
in
RESTORE_FILES
:
if
fstore
.
has_file
(
filepath
):
fstore
.
restore_file
(
filepath
)
if
statestore
.
has_state
(
'
autofs
'
):
enabled
=
statestore
.
restore_state
(
'
autofs
'
,
'
enabled
'
)
running
=
statestore
.
restore_state
(
'
autofs
'
,
'
running
'
)
...
...
@@ -382,7 +399,8 @@ def main():
try
:
check_client_configuration
()
except
ScriptError
as
e
:
sys
.
exit
(
e
)
print
(
e
.
msg
)
sys
.
exit
(
e
.
rval
)
fstore
=
sysrestore
.
FileStore
(
paths
.
IPA_CLIENT_SYSRESTORE
)
statestore
=
sysrestore
.
StateFile
(
paths
.
IPA_CLIENT_SYSRESTORE
)
...
...
@@ -412,7 +430,8 @@ def main():
ca_cert_path
=
paths
.
IPA_CA_CRT
if
statestore
.
has_state
(
'
autofs
'
):
sys
.
exit
(
'
automount is already configured on this system.
\n
'
)
print
(
'
An automount location is already configured
'
)
sys
.
exit
(
CLIENT_ALREADY_CONFIGURED
)
autodiscover
=
False
ds
=
ipadiscovery
.
IPADiscovery
()
...
...
client/ipa-getkeytab.c
View file @
f84b3f39
...
...
@@ -43,14 +43,8 @@
#include
"ipa_krb5.h"
#include
"ipa_asn1.h"
#include
"ipa-client-common.h"
#include
"ipa_ldap.h"
#define DEFAULT_CA_CERT_FILE "/etc/ipa/ca.crt"
#define LDAP_SASL_EXTERNAL "EXTERNAL"
#define LDAP_SASL_GSSAPI "GSSAPI"
#define SCHEMA_LDAP "ldap://"
#define SCHEMA_LDAPS "ldaps://"
static
int
check_sasl_mech
(
const
char
*
mech
)
{
...
...
@@ -178,42 +172,6 @@ static int ipa_server_to_uri(const char *servername, const char *mech,
return
0
;
}
static
int
ipa_ldap_init
(
LDAP
**
ld
,
const
char
*
ldap_uri
)
{
int
rc
=
0
;
rc
=
ldap_initialize
(
ld
,
ldap_uri
);
return
rc
;
}
static
int
ipa_tls_ssl_init
(
LDAP
*
ld
,
const
char
*
ldap_uri
)
{
int
ret
=
LDAP_SUCCESS
;
int
tls_hard
=
LDAP_OPT_X_TLS_HARD
;
int
tls_demand
=
LDAP_OPT_X_TLS_DEMAND
;
if
(
strncmp
(
ldap_uri
,
SCHEMA_LDAP
,
sizeof
(
SCHEMA_LDAP
)
-
1
)
==
0
)
{
ret
=
ldap_set_option
(
ld
,
LDAP_OPT_X_TLS_REQUIRE_CERT
,
&
tls_demand
);
if
(
ret
!=
LDAP_OPT_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP_OPT_X_TLS_REQUIRE_CERT
\n
"
));
return
ret
;
}
ret
=
ldap_start_tls_s
(
ld
,
NULL
,
NULL
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to initialize STARTTLS session
\n
"
));
return
ret
;
}
}
else
if
(
strncmp
(
ldap_uri
,
SCHEMA_LDAPS
,
sizeof
(
SCHEMA_LDAPS
)
-
1
)
==
0
)
{
ret
=
ldap_set_option
(
ld
,
LDAP_OPT_X_TLS
,
&
tls_hard
);
if
(
ret
!=
LDAP_OPT_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP_OPT_X_TLS
\n
"
));
return
ret
;
}
}
return
ret
;
}
static
int
ipa_ldap_bind
(
const
char
*
ldap_uri
,
krb5_principal
bind_princ
,
const
char
*
bind_dn
,
const
char
*
bind_pw
,
const
char
*
mech
,
const
char
*
ca_cert_file
,
...
...
@@ -221,20 +179,12 @@ static int ipa_ldap_bind(const char *ldap_uri, krb5_principal bind_princ,
{
char
*
msg
=
NULL
;
struct
berval
bv
;
int
version
;
LDAP
*
ld
;
int
ret
;
/* TODO: support referrals ? */
ret
=
ldap_set_option
(
NULL
,
LDAP_OPT_X_TLS_CACERTFILE
,
ca_cert_file
);
if
(
ret
!=
LDAP_OPT_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP_OPT_X_TLS_CERTIFICATE
\n
"
));
return
ret
;
}
ret
=
ipa_ldap_init
(
&
ld
,
ldap_uri
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to init connection to %s
\n
"
),
ldap_uri
);
return
ret
;
}
...
...
@@ -243,23 +193,7 @@ static int ipa_ldap_bind(const char *ldap_uri, krb5_principal bind_princ,
return
LDAP_OPERATIONS_ERROR
;
}
#ifdef LDAP_OPT_X_SASL_NOCANON
/* Don't do DNS canonicalization */
ret
=
ldap_set_option
(
ld
,
LDAP_OPT_X_SASL_NOCANON
,
LDAP_OPT_ON
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP_OPT_X_SASL_NOCANON
\n
"
));
goto
done
;
}
#endif
version
=
LDAP_VERSION3
;
ret
=
ldap_set_option
(
ld
,
LDAP_OPT_PROTOCOL_VERSION
,
&
version
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP_OPT_PROTOCOL_VERSION
\n
"
));
goto
done
;
}
ret
=
ipa_tls_ssl_init
(
ld
,
ldap_uri
);
ret
=
ipa_tls_ssl_init
(
ld
,
ldap_uri
,
ca_cert_file
);
if
(
ret
!=
LDAP_OPT_SUCCESS
)
{
goto
done
;
}
...
...
client/ipa-join.c
View file @
f84b3f39
...
...
@@ -39,13 +39,12 @@
#include
"xmlrpc-c/client.h"
#include
"ipa-client-common.h"
#include
"ipa_ldap.h"
#define NAME "ipa-join"
#define JOIN_OID "2.16.840.1.113730.3.8.10.3"
#define CAFILE "/etc/ipa/ca.crt"
#define IPA_CONFIG "/etc/ipa/default.conf"
char
*
read_config_file
(
const
char
*
filename
);
...
...
@@ -200,8 +199,6 @@ callRPC(char * user_agent,
static
LDAP
*
connect_ldap
(
const
char
*
hostname
,
const
char
*
binddn
,
const
char
*
bindpw
)
{
LDAP
*
ld
=
NULL
;
int
ssl
=
LDAP_OPT_X_TLS_HARD
;
int
version
=
LDAP_VERSION3
;
int
ret
;
int
ldapdebug
=
0
;
char
*
uri
;
...
...
@@ -215,40 +212,23 @@ connect_ldap(const char *hostname, const char *binddn, const char *bindpw) {
}
}
if
(
ldap_set_option
(
NULL
,
LDAP_OPT_X_TLS_CACERTFILE
,
CAFILE
)
!=
LDAP_OPT_SUCCESS
)
goto
fail
;
ret
=
asprintf
(
&
uri
,
"ldaps://%s:636"
,
hostname
);
if
(
ret
==
-
1
)
{
fprintf
(
stderr
,
_
(
"Out of memory!"
));
goto
fail
;
}
ret
=
ldap_initialize
(
&
ld
,
uri
);
free
(
uri
);
ret
=
ipa_ldap_init
(
&
ld
,
uri
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to initialize connection to ldap server: %s"
),
ldap_err2string
(
ret
));
goto
fail
;
}
if
(
ldap_set_option
(
ld
,
LDAP_OPT_X_TLS
,
&
ssl
)
!=
LDAP_OPT_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to enable SSL in LDAP
\n
"
));
goto
fail
;
}
/* Don't do DNS canonicalization */
ret
=
ldap_set_option
(
ld
,
LDAP_OPT_X_SASL_NOCANON
,
LDAP_OPT_ON
);
ret
=
ipa_tls_ssl_init
(
ld
,
uri
,
DEFAULT_CA_CERT_FILE
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP_OPT_X_SASL_NOCANON
\n
"
));
goto
fail
;
}
ret
=
ldap_set_option
(
ld
,
LDAP_OPT_PROTOCOL_VERSION
,
&
version
);
if
(
ret
!=
LDAP_SUCCESS
)
{
fprintf
(
stderr
,
_
(
"Unable to set LDAP version
\n
"
));
fprintf
(
stderr
,
_
(
"Unable to enable SSL in LDAP
\n
"
));
goto
fail
;
}
free
(
uri
);
uri
=
NULL
;
if
(
bindpw
)
{
bindpw_bv
.
bv_val
=
discard_const
(
bindpw
);
...
...
@@ -276,6 +256,9 @@ fail:
if
(
ld
!=
NULL
)
{
ldap_unbind_ext
(
ld
,
NULL
,
NULL
);
}
if
(
uri
!=
NULL
)
{
free
(
uri
);
}
return
NULL
;
}
...
...
client/man/ipa-client-automount.1
View file @
f84b3f39
...
...
@@ -87,3 +87,7 @@ Files that will be configured when using the ldap automount client:
0 if the installation was successful
1 if an error occurred
2 if uninstalling and automount is not configured
3 if installing and automount already configured
client/share/Makefile.am
0 → 100644
View file @
f84b3f39
NULL
=
appdir
=
$(
IPA_DATA_DIR
)
/client
dist_app_DATA
=
\
freeipa.template
\
$(
NULL
)
install
/share/freeipa.template
→
client
/share/freeipa.template
View file @
f84b3f39
File moved
configure.ac
View file @
f84b3f39
...
...
@@ -504,6 +504,7 @@ AC_CONFIG_FILES([
asn1/Makefile
asn1/asn1c/Makefile
client/Makefile
client/share/Makefile
client/man/Makefile
contrib/completion/Makefile
contrib/Makefile
...
...
daemons/ipa-otpd/queue.c
View file @
f84b3f39
...
...
@@ -155,7 +155,7 @@ struct otpd_queue_item *otpd_queue_pop_msgid(struct otpd_queue *q, int msgid)
for
(
item
=
q
->
head
,
prev
=
&
q
->
head
;
item
!=
NULL
;
item
=
item
->
next
,
prev
=
&
item
->
next
)
{
prev
=
&
item
->
next
,
item
=
item
->
next
)
{
if
(
item
->
msgid
==
msgid
)
{
*
prev
=
item
->
next
;
if
(
q
->
head
==
NULL
)
...
...
daemons/ipa-otpd/test.py
View file @
f84b3f39
#!/usr/bin/python3
#
# FreeIPA 2FA companion daemon
#
...
...
daemons/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
View file @
f84b3f39
...
...
@@ -595,6 +595,7 @@ parse_req_done:
}
else
{
principal
=
slapi_ch_smprintf
(
"root/admin@%s"
,
krbcfg
->
realm
);
}
if
(
principal
)
ipapwd_set_extradata
(
pwdata
.
dn
,
principal
,
pwdata
.
timeNow
);
/* Free anything that we allocated above */
...
...
daemons/ipa-slapi-plugins/topology/ipa-topology-conf.ldif
100755 → 100644
View file @
f84b3f39
File mode changed from 100755 to 100644
Prev
1
2
3
4
5
…
16
Next