Merge from bundle.

This commit is contained in:
Karl MacMillan 0001-01-01 00:00:00 +00:00
commit 0144922fd7
17 changed files with 397 additions and 302 deletions

View File

@ -2,36 +2,45 @@ SUBDIRS=ipa-server ipa-admintools ipa-python
PRJ_PREFIX=freeipa PRJ_PREFIX=freeipa
# set to 1 to produce a debug build of all subprojects
#DEBUG=1
# Version numbers - this is for the entire server. After # Version numbers - this is for the entire server. After
# updating this you should run the version-update # updating this you should run the version-update
# target. # target.
SERV_MAJOR=0 SERV_MAJOR=0
SERV_MINOR=1 SERV_MINOR=2
SERV_RELEASE=0 SERV_RELEASE=0
SERV_VERSION=$(SERV_MAJOR).$(SERV_MINOR).$(SERV_RELEASE) SERV_VERSION=$(SERV_MAJOR).$(SERV_MINOR).$(SERV_RELEASE)
SERV_TARBALL_PREFIX=$(PRJ_PREFIX)-server-$(SERV_VERSION) SERV_TARBALL_PREFIX=$(PRJ_PREFIX)-server-$(SERV_VERSION)
SERV_TARBALL=$(SERV_TARBALL_PREFIX).tgz SERV_TARBALL=$(SERV_TARBALL_PREFIX).tgz
ADMIN_MAJOR=0 ADMIN_MAJOR=0
ADMIN_MINOR=1 ADMIN_MINOR=2
ADMIN_RELEASE=0 ADMIN_RELEASE=0
ADMIN_VERSION=$(ADMIN_MAJOR).$(ADMIN_MINOR).$(ADMIN_RELEASE) ADMIN_VERSION=$(ADMIN_MAJOR).$(ADMIN_MINOR).$(ADMIN_RELEASE)
ADMIN_TARBALL_PREFIX=$(PRJ_PREFIX)-admintools-$(ADMIN_VERSION) ADMIN_TARBALL_PREFIX=$(PRJ_PREFIX)-admintools-$(ADMIN_VERSION)
ADMIN_TARBALL=$(ADMIN_TARBALL_PREFIX).tgz ADMIN_TARBALL=$(ADMIN_TARBALL_PREFIX).tgz
PYTHON_MAJOR=0 PYTHON_MAJOR=0
PYTHON_MINOR=1 PYTHON_MINOR=2
PYTHON_RELEASE=0 PYTHON_RELEASE=0
PYTHON_VERSION=$(PYTHON_MAJOR).$(PYTHON_MINOR).$(PYTHON_RELEASE) PYTHON_VERSION=$(PYTHON_MAJOR).$(PYTHON_MINOR).$(PYTHON_RELEASE)
PYTHON_TARBALL_PREFIX=$(PRJ_PREFIX)-python-$(PYTHON_VERSION) PYTHON_TARBALL_PREFIX=$(PRJ_PREFIX)-python-$(PYTHON_VERSION)
PYTHON_TARBALL=$(PYTHON_TARBALL_PREFIX).tgz PYTHON_TARBALL=$(PYTHON_TARBALL_PREFIX).tgz
ifeq ($(DEBUG),1)
export CFLAGS = -g -Wall -Wshadow
export LDFLAGS = -g
endif
all: all:
@for subdir in $(SUBDIRS); do \ @for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \ (cd $$subdir && $(MAKE) $@) || exit 1; \
done done
install: install: all
@for subdir in $(SUBDIRS); do \ @for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \ (cd $$subdir && $(MAKE) $@) || exit 1; \
done done
@ -88,7 +97,7 @@ tarballs:
rpm-ipa-server: rpm-ipa-server:
cp dist/$(SERV_TARBALL) ~/rpmbuild/SOURCES/. cp dist/$(SERV_TARBALL) ~/rpmbuild/SOURCES/.
rpmbuild -ba ipa-server/freeipa-server.spec rpmbuild -ba ipa-server/freeipa-server.spec
cp ~/rpmbuild/RPMS/noarch/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.rpm dist/. cp ~/rpmbuild/RPMS/*/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.rpm dist/.
cp ~/rpmbuild/SRPMS/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.src.rpm dist/. cp ~/rpmbuild/SRPMS/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.src.rpm dist/.
rpm-ipa-admin: rpm-ipa-admin:

View File

@ -1,5 +1,5 @@
Name: freeipa-admintools Name: freeipa-admintools
Version: 0.1.0 Version: 0.2.0
Release: 3%{?dist} Release: 3%{?dist}
Summary: FreeIPA authentication server Summary: FreeIPA authentication server

View File

@ -1,5 +1,5 @@
Name: freeipa-admintools Name: freeipa-admintools
Version: 0.1.0 Version: VERSION
Release: 3%{?dist} Release: 3%{?dist}
Summary: FreeIPA authentication server Summary: FreeIPA authentication server

View File

@ -1,5 +1,5 @@
Name: freeipa-python Name: freeipa-python
Version: 0.1.0 Version: 0.2.0
Release: 3%{?dist} Release: 3%{?dist}
Summary: FreeIPA authentication server Summary: FreeIPA authentication server

View File

@ -1,4 +1,4 @@
SUBDIRS=ipa-install xmlrpc-server SUBDIRS=ipa-install xmlrpc-server ipa-kpasswd ipa-slapi-plugins
PYTHONDIR=$(DESTDIR)/usr/share/ipa/ipaserver PYTHONDIR=$(DESTDIR)/usr/share/ipa/ipaserver
all: all:

View File

@ -1,6 +1,6 @@
Name: freeipa-server Name: freeipa-server
Version: 0.1.0 Version: 0.2.0
Release: 3%{?dist} Release: 1%{?dist}
Summary: FreeIPA authentication server Summary: FreeIPA authentication server
Group: System Environment/Base Group: System Environment/Base
@ -8,11 +8,13 @@ License: GPL
URL: http://www.freeipa.org URL: http://www.freeipa.org
Source0: %{name}-%{version}.tgz Source0: %{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi nss TurboGears
%define httpd_conf /etc/httpd/conf.d %define httpd_conf /etc/httpd/conf.d
%define plugin_dir /usr/lib/fedora-ds/plugins
%description %description
FreeIPA is a server for identity, policy, and audit. FreeIPA is a server for identity, policy, and audit.
@ -20,9 +22,14 @@ FreeIPA is a server for identity, policy, and audit.
%prep %prep
%setup -q %setup -q
%build
make DESTDIR=%{buildroot}
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{plugin_dir}
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
@ -35,12 +42,19 @@ rm -rf %{buildroot}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_sbindir}/ipa-server-install %{_sbindir}/ipa-server-install
%{_sbindir}/ipa-server-setupssl %{_sbindir}/ipa-server-setupssl
%{_sbindir}/ipa_kpasswd
%dir %{_usr}/share/ipa %dir %{_usr}/share/ipa
%{_usr}/share/ipa/* %{_usr}/share/ipa/*
%{plugin_dir}/libipa_pwd_extop.so
%changelog %changelog
* Fri Aug 10 2007 Karl MacMillan <kmacmill@redhat.com> - 0.2.0-1
- Added support for ipa_kpasswd and ipa_pwd_extop
* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3 * Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3
- Abstracted client class to work directly or over RPC - Abstracted client class to work directly or over RPC
@ -52,7 +66,7 @@ rm -rf %{buildroot}
- Create an ldif with a test user - Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication - Provide a certmap.conf for doing SSL client authentication
* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1 * Fri Jul 27 2007 Karl MacMillan <kmacmill@redhat.com> - 0.1.0-1
- Initial rpm version - Initial rpm version

View File

@ -1,6 +1,6 @@
Name: freeipa-server Name: freeipa-server
Version: VERSION Version: VERSION
Release: 3%{?dist} Release: 1%{?dist}
Summary: FreeIPA authentication server Summary: FreeIPA authentication server
Group: System Environment/Base Group: System Environment/Base
@ -8,11 +8,13 @@ License: GPL
URL: http://www.freeipa.org URL: http://www.freeipa.org
Source0: %{name}-%{version}.tgz Source0: %{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi nss TurboGears
%define httpd_conf /etc/httpd/conf.d %define httpd_conf /etc/httpd/conf.d
%define plugin_dir /usr/lib/fedora-ds/plugins
%description %description
FreeIPA is a server for identity, policy, and audit. FreeIPA is a server for identity, policy, and audit.
@ -20,9 +22,14 @@ FreeIPA is a server for identity, policy, and audit.
%prep %prep
%setup -q %setup -q
%build
make DESTDIR=%{buildroot}
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{plugin_dir}
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
@ -35,12 +42,19 @@ rm -rf %{buildroot}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_sbindir}/ipa-server-install %{_sbindir}/ipa-server-install
%{_sbindir}/ipa-server-setupssl %{_sbindir}/ipa-server-setupssl
%{_sbindir}/ipa_kpasswd
%dir %{_usr}/share/ipa %dir %{_usr}/share/ipa
%{_usr}/share/ipa/* %{_usr}/share/ipa/*
%{plugin_dir}/libipa_pwd_extop.so
%changelog %changelog
* Fri Aug 10 2007 Karl MacMillan <kmacmill@redhat.com> - 0.2.0-1
- Added support for ipa_kpasswd and ipa_pwd_extop
* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3 * Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3
- Abstracted client class to work directly or over RPC - Abstracted client class to work directly or over RPC
@ -52,7 +66,7 @@ rm -rf %{buildroot}
- Create an ldif with a test user - Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication - Provide a certmap.conf for doing SSL client authentication
* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1 * Fri Jul 27 2007 Karl MacMillan <kmacmill@redhat.com> - 0.1.0-1
- Initial rpm version - Initial rpm version

View File

@ -1,146 +1,146 @@
/* /*
* Quick mash-up of CSS for the TG quick start page. * Quick mash-up of CSS for the TG quick start page.
*/ */
html, body { html, body {
color: #000; color: #000;
background:#fff; background:#fff;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
body { body {
min-width: 750px; min-width: 750px;
} }
#page { #page {
background:#ccc; /* should be same as #sidebar */ background:#ccc; /* should be same as #sidebar */
margin:0 auto; margin:0 auto;
width:100%; width:100%;
} }
#header { #header {
background:#fff; background:#fff;
} }
#header h1 { #header h1 {
padding:5px; padding:5px;
margin:0; margin:0;
} }
#nav { #nav {
background:#cc0000; background:#cc0000;
color:#fff; color:#fff;
padding:5px; padding:5px;
} }
#nav ul { #nav ul {
margin:0; margin:0;
padding:0; padding:0;
list-style:none; list-style:none;
} }
#nav li { #nav li {
display:inline; display:inline;
} }
#nav a:visited { #nav a:visited {
color:#fff; color:#fff;
} }
#nav a:link { #nav a:link {
color:#fff; color:#fff;
} }
#main_content { #main_content {
background:#fff; background:#fff;
float:right; float:right;
width:85%; width:85%;
border-left: 1px solid #000; border-left: 1px solid #000;
padding-left: 15px; padding-left: 15px;
padding-bottom: 15px; padding-bottom: 15px;
/* color: black; /* color: black;
font-size: 127%; font-size: 127%;
background-color: white; background-color: white;
margin: 0 auto 0 auto; margin: 0 auto 0 auto;
padding: 10px; padding: 10px;
float: left; */ float: left; */
} }
#sidebar { #sidebar {
background:#ccc; /* should be same as #page */ background:#ccc; /* should be same as #page */
float:left; float:left;
width:10%; width:10%;
/* border: 1px solid #aaa; /* border: 1px solid #aaa;
background-color: #eee; background-color: #eee;
margin: 0.5em; margin: 0.5em;
padding: 1em; padding: 1em;
float: left; float: left;
font-size: 88%; */ font-size: 88%; */
} }
#sidebar h2 { #sidebar h2 {
margin-top: 0; margin-top: 0;
} }
#sidebar ul { #sidebar ul {
margin-left: 1.5em; margin-left: 1.5em;
padding-left: 0; padding-left: 0;
} }
#footer { #footer {
background:#fff; background:#fff;
clear:both; clear:both;
border-top: 1px solid #000; border-top: 1px solid #000;
/* color: #999; /* color: #999;
background-color: white; background-color: white;
padding: 10px; padding: 10px;
font-size: 80%; font-size: 80%;
text-align: center; text-align: center;
margin: 0 auto 1em auto; */ margin: 0 auto 1em auto; */
} }
.formsection { .formsection {
color: #888888; color: #888888;
width: 90%; width: 90%;
font-weight: bold; font-weight: bold;
border-bottom: 1px solid; border-bottom: 1px solid;
margin: 20px 0px 20px 0px; margin: 20px 0px 20px 0px;
} }
.formtable { .formtable {
width: 90%; width: 90%;
} }
.formtable th { .formtable th {
width: 15%; width: 15%;
text-align: right; text-align: right;
} }
#status_block { #status_block {
margin: 0 auto 0.5em auto; margin: 0 auto 0.5em auto;
padding: 15px 10px 15px 55px; padding: 15px 10px 15px 55px;
background: #cec URL('../images/ok.png') left center no-repeat; background: #cec URL('../images/ok.png') left center no-repeat;
border: 1px solid #9c9; border: 1px solid #9c9;
width: 450px; width: 450px;
font-size: 120%; font-size: 120%;
font-weight: bolder; font-weight: bolder;
} }
.notice { .notice {
margin: 0.5em auto 0.5em auto; margin: 0.5em auto 0.5em auto;
padding: 15px 10px 15px 55px; padding: 15px 10px 15px 55px;
width: 450px; width: 450px;
background: #eef URL('../images/info.png') left center no-repeat; background: #eef URL('../images/info.png') left center no-repeat;
border: 1px solid #cce; border: 1px solid #cce;
} }
.fielderror { .fielderror {
color: red; color: red;
font-weight: bold; font-weight: bold;
} }

View File

@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'"> py:extends="'master.kid'">
<head> <head>
</head> </head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content"> <div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div> <div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div> <div py:replace="[item.text]+item[:]"></div>
</div> </div>
<div id="sidebar"> <div id="sidebar">
<h2>Tools</h2> <h2>Tools</h2>
<a href="${tg.url('/groupindex')}">Add Group</a><br/> <a href="${tg.url('/groupindex')}">Add Group</a><br/>
<a href="${tg.url('/groupindex')}">Find Group</a><br/> <a href="${tg.url('/groupindex')}">Find Group</a><br/>
<a href="${tg.url('/groupindex')}">List Groups</a><br/> <a href="${tg.url('/groupindex')}">List Groups</a><br/>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,48 +1,48 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?python import sitetemplate ?> <?python import sitetemplate ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" py:extends="sitetemplate"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" py:extends="sitetemplate">
<head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'" py:attrs="item.items()"> <head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'" py:attrs="item.items()">
<meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
<title py:replace="''">Your title goes here</title> <title py:replace="''">Your title goes here</title>
<meta py:replace="item[:]"/> <meta py:replace="item[:]"/>
<style type="text/css" media="screen"> <style type="text/css" media="screen">
@import "${tg.url('/static/css/style.css')}"; @import "${tg.url('/static/css/style.css')}";
</style> </style>
</head> </head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div py:if="tg.config('identity.on') and not defined('logging_in')" id="pageLogin"> <div py:if="tg.config('identity.on') and not defined('logging_in')" id="pageLogin">
<span py:if="tg.identity.anonymous"> <span py:if="tg.identity.anonymous">
<a href="${tg.url('/login')}">Login</a> <a href="${tg.url('/login')}">Login</a>
</span> </span>
<span py:if="not tg.identity.anonymous"> <span py:if="not tg.identity.anonymous">
Welcome ${tg.identity.user.display_name}. Welcome ${tg.identity.user.display_name}.
<a href="${tg.url('/logout')}">Logout</a> <a href="${tg.url('/logout')}">Logout</a>
</span> </span>
</div> </div>
<div id="page"> <div id="page">
<div id="header"> <div id="header">
<h1>Free IPA</h1> <h1>Free IPA</h1>
</div> </div>
<div id="nav"> <div id="nav">
<ul> <ul>
<li><a href="${tg.url('/userindex')}">Users</a></li> <li><a href="${tg.url('/userindex')}">Users</a></li>
<li><a href="${tg.url('/groupindex')}">Groups</a></li> <li><a href="${tg.url('/groupindex')}">Groups</a></li>
<li><a href="${tg.url('/resindex')}">Resources</a></li> <li><a href="${tg.url('/resindex')}">Resources</a></li>
</ul> </ul>
</div> </div>
<div py:replace="[item.text]+item[:]"></div> <div py:replace="[item.text]+item[:]"></div>
<div id="footer"> <div id="footer">
This is the footer This is the footer
</div> </div>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'"> py:extends="'master.kid'">
<head> <head>
</head> </head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content"> <div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div> <div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div> <div py:replace="[item.text]+item[:]"></div>
</div> </div>
<div id="sidebar"> <div id="sidebar">
<h2>Tools</h2> <h2>Tools</h2>
<a href="${tg.url('/resindex')}">Add Resource</a><br/> <a href="${tg.url('/resindex')}">Add Resource</a><br/>
<a href="${tg.url('/resindex')}">Find Resource</a><br/> <a href="${tg.url('/resindex')}">Find Resource</a><br/>
<a href="${tg.url('/resindex')}">List Resources</a><br/> <a href="${tg.url('/resindex')}">List Resources</a><br/>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'"> py:extends="'master.kid'">
<head> <head>
</head> </head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content"> <div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div> <div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div> <div py:replace="[item.text]+item[:]"></div>
</div> </div>
<div id="sidebar"> <div id="sidebar">
<h2>Tools</h2> <h2>Tools</h2>
<a href="${tg.url('/usernew')}">Add Person</a><br/> <a href="${tg.url('/usernew')}">Add Person</a><br/>
<a href="${tg.url('/userindex')}">Find People</a><br/> <a href="${tg.url('/userindex')}">Find People</a><br/>
<a href="${tg.url('/userlist')}">List People</a><br/> <a href="${tg.url('/userlist')}">List People</a><br/>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,18 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'"> py:extends="'master.kid'">
<head> <head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
<title>Welcome</title> <title>Welcome</title>
</head> </head>
<body> <body>
<div id="sidebar"> <div id="sidebar">
<h2>Tools</h2> <h2>Tools</h2>
</div> </div>
<div id="main_content"> <div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div> <div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<h1>Welcome to Free IPA</h1> <h1>Welcome to Free IPA</h1>
</div> </div>
</body> </body>
</html> </html>

View File

@ -3,6 +3,7 @@ SBINDIR=$(DESTDIR)/usr/sbin
all: ; all: ;
install: install:
-mkdir $(SBINDIR)
install -m 755 ipa-server-install $(SBINDIR) install -m 755 ipa-server-install $(SBINDIR)
install -m 755 ipa-server-setupssl $(SBINDIR) install -m 755 ipa-server-setupssl $(SBINDIR)
$(MAKE) -C share $@ $(MAKE) -C share $@

View File

@ -1,5 +1,22 @@
all: PREFIX ?= $(DESTDIR)/usr
gcc ipa_kpasswd.c -I/usr/include -lkrb5 -llber -lldap -g -o ipa_kpasswd SBIN = $(PREFIX)/sbin
LDFLAGS +=-lkrb5 -llber -lldap
CFLAGS ?= -Wall -Wshadow -O2
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
all: $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o ipa_kpasswd
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
install: install:
cp -f ipa_kpasswd /usr/sbin/ -mkdir -p $(SBIN)
install -m 755 ipa_kpasswd $(SBIN)
clean:
rm -f *.o
rm -f ipa_kpasswd
rm -f *~

View File

@ -0,0 +1,17 @@
SUBDIRS=ipa-pwd-extop
all:
@for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \
done
install:
@for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \
done
clean:
@for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \
done
rm -f *~

View File

@ -1,5 +1,28 @@
all: PREFIX ?= $(DESTDIR)/usr
gcc ipa_pwd_extop.c -I/usr/include -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -I/usr/include/fedora-ds -lkrb5 -lmhash -llber -lssl -shared -g -fPIC -DPIC -Wl,-soname -Wl,libipa_pwd_extop.so -o libipa_pwd_extop.so LIBDIR = $(PREFIX)/lib/fedora-ds/plugins
SHAREDIR = $(DESTDIR)/usr/share/ipa
SONAME = libipa_pwd_extop.so
LDFLAGS += -lkrb5 -llber -lldap -lmhash -llber -lssl
CFLAGS ?= -Wall -Wshadow -O2
CFLAGS += -I/usr/include/fedora-ds -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -fPIC -DPIC
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
all: $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -Wl,-soname -Wl,$(SONAME) -shared -o $(SONAME)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
install: install:
cp -f libipa_pwd_extop.so /usr/lib/fedora-ds/plugins/ -mkdir -p $(LIBDIR)
install -m 644 libipa_pwd_extop.so $(LIBDIR)
install -m 644 *.ldif $(SHAREDIR)
clean:
rm -f *.o
rm -f $(SONAME)
rm -f *~