summaryrefslogtreecommitdiffstats
path: root/ipa-admintools
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-admintools')
-rwxr-xr-xipa-admintools/freeipa-admintools.spec11
-rwxr-xr-xipa-admintools/freeipa-admintools.spec.in11
-rw-r--r--ipa-admintools/ipa-adduser25
-rw-r--r--ipa-admintools/ipa-finduser40
4 files changed, 60 insertions, 27 deletions
diff --git a/ipa-admintools/freeipa-admintools.spec b/ipa-admintools/freeipa-admintools.spec
index bcd3d9d2..904a3b69 100755
--- a/ipa-admintools/freeipa-admintools.spec
+++ b/ipa-admintools/freeipa-admintools.spec
@@ -1,6 +1,6 @@
Name: freeipa-admintools
Version: 0.1.0
-Release: 1%{?dist}
+Release: 3%{?dist}
Summary: FreeIPA authentication server
Group: System Environment/Base
@@ -36,7 +36,12 @@ rm -rf %{buildroot}
%changelog
-* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1
-- Initial rpm version
+* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3
+- Abstracted client class to work directly or over RPC
+* Wed Aug 1 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-2
+- Update tools to do kerberos
+- Add User class
+* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1
+- Initial rpm version
diff --git a/ipa-admintools/freeipa-admintools.spec.in b/ipa-admintools/freeipa-admintools.spec.in
index bcd3d9d2..904a3b69 100755
--- a/ipa-admintools/freeipa-admintools.spec.in
+++ b/ipa-admintools/freeipa-admintools.spec.in
@@ -1,6 +1,6 @@
Name: freeipa-admintools
Version: 0.1.0
-Release: 1%{?dist}
+Release: 3%{?dist}
Summary: FreeIPA authentication server
Group: System Environment/Base
@@ -36,7 +36,12 @@ rm -rf %{buildroot}
%changelog
-* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1
-- Initial rpm version
+* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3
+- Abstracted client class to work directly or over RPC
+* Wed Aug 1 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-2
+- Update tools to do kerberos
+- Add User class
+* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1
+- Initial rpm version
diff --git a/ipa-admintools/ipa-adduser b/ipa-admintools/ipa-adduser
index b40fdee2..af922833 100644
--- a/ipa-admintools/ipa-adduser
+++ b/ipa-admintools/ipa-adduser
@@ -21,8 +21,11 @@
import sys
from optparse import OptionParser
import ipa
-import ipa.rpcclient
+import ipa.ipaclient as ipaclient
+import ipa.config
+
import xmlrpclib
+import kerberos
def usage():
print "ipa-adduser [-c|--gecos STRING] [-d|--directory STRING] [-f|--firstname STRING] [-l|--lastname STRING] user"
@@ -43,7 +46,8 @@ def parse_options():
parser.add_option("--usage", action="store_true",
help="Program usage")
- (options, args) = parser.parse_args()
+ args = ipa.config.init_config(sys.argv)
+ options, args = parser.parse_args(args)
if not options.gn or not options.sn:
usage()
@@ -52,14 +56,14 @@ def parse_options():
def main():
user={}
- (options, args) = parse_options()
+ options, args = parse_options()
- if len(args) != 1:
+ if len(args) != 2:
usage()
- user['gn'] = options.gn
+ user['givenName'] = options.gn
user['sn'] = options.sn
- user['uid'] = args[0]
+ user['uid'] = args[1]
if options.gecos:
user['gecos'] = options.gecos
if options.directory:
@@ -70,10 +74,15 @@ def main():
user['loginshell'] = "/bin/bash"
try:
- ipa.rpcclient.add_user(user)
- print args[0] + " successfully added"
+ client = ipaclient.IPAClient()
+ client.add_user(user)
+ print args[1] + " successfully added"
except xmlrpclib.Fault, f:
print f.faultString
+ return 1
+ except kerberos.GSSError, e:
+ print "Could not initialize GSSAPI: %s/%s" % (e[0][0][0], e[0][1][0])
+ return 1
return 0
diff --git a/ipa-admintools/ipa-finduser b/ipa-admintools/ipa-finduser
index 205b47ce..a54e141e 100644
--- a/ipa-admintools/ipa-finduser
+++ b/ipa-admintools/ipa-finduser
@@ -18,12 +18,14 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
+import sys
from optparse import OptionParser
-import ipa
-import ipa.rpcclient
-import base64
+import ipa.ipaclient as ipaclient
+import ipa.config
+
import sys
import xmlrpclib
+import kerberos
def usage():
print "ipa-finduser <uid>"
@@ -32,28 +34,40 @@ def usage():
def parse_options():
parser = OptionParser()
- (options, args) = parser.parse_args()
+ args = ipa.config.init_config(sys.argv)
+ options, args = parser.parse_args(args)
return options, args
def main():
user={}
- (options, args) = parse_options()
+ options, args = parse_options()
- if len(args) != 1:
+ if len(args) != 2:
usage()
try:
- ent = ipa.rpcclient.get_user(args[0])
- for name, value in ent.items():
- if isinstance(value, str):
- print name + ": " + value
+ client = ipaclient.IPAClient()
+ ent = client.get_user(args[1])
+ attr = ent.attrList()
+
+ print "dn: " + ent.dn
+
+ for a in attr:
+ value = ent.getValues(a)
+ if isinstance(value,str):
+ print a + ": " + value
else:
- print name + ": "
- for x in value:
- print "\t" + x
+ print a + ": "
+ for l in value:
+ print "\t" + l
+
except xmlrpclib.Fault, fault:
print fault.faultString
+ return 1
+ except kerberos.GSSError, e:
+ print "Could not initialize GSSAPI: %s/%s" % (e[0][0][0], e[0][1][0])
+ return 1
return 0