Commit Graph

573 Commits

Author SHA1 Message Date
Jason Gerard DeRose
39dfffd280 Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2 2008-10-24 15:11:27 -06:00
Jason Gerard DeRose
f80beb948b Added ipalib/constants.py; added Env._load_config() method along with comprehensive unit tests for same 2008-10-24 15:07:07 -06:00
Rob Crittenden
34520981ee Don't allow service-add to create host/ principals 2008-10-24 14:17:20 -04:00
Rob Crittenden
8788afe184 Use posixAccount instead of person to identify users
Add output_for_cli to service-find
2008-10-24 11:41:39 -04:00
Rob Crittenden
6a8026f974 If a password is supplied then this host will be bulk-enrolled
A bulk-enrolled host does not get a kerberos service principal until
enrollment time.
2008-10-24 11:41:38 -04:00
Jason Gerard DeRose
2ec0312eb6 Finished doodle with stricter version of Environment 2008-10-24 01:51:36 -06:00
Jason Gerard DeRose
59a2cffff4 IPAError now more appropriately subclasses from StandardError instead of Exception 2008-10-23 21:21:51 -06:00
Rob Crittenden
d2b46f176e Use common display function for user-show and user-find.
Add --all option to user-find
Fix command-line help to make sense on searches as well
2008-10-23 14:36:24 -04:00
Rob Crittenden
06a82bf4b6 Fix ipa command running in server_context=True
Make the LDAP host and port environment variables
More changes so that commands have a shell return value
lite-xmlrpc no longer hardcodes the kerberos credentials cache location
2008-10-23 11:00:50 -04:00
Rob Crittenden
1daf319a19 Implement the host commands
In order for this to work against a v1 database the update host.update needs to
be applied
2008-10-22 17:54:04 -04:00
Rob Crittenden
f189b02996 Return a value to the shell that called ipa 2008-10-22 17:52:32 -04:00
Jason Gerard DeRose
f8ffede3b9 Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2 2008-10-21 17:35:42 -06:00
Rob Crittenden
245969858d Implement group member add/remove
Add gidNumber to the group command-line
2008-10-21 16:33:34 -04:00
Rob Crittenden
3cbb5c6eeb Don't import servercore 2008-10-21 16:32:45 -04:00
Rob Crittenden
8d07faed4d Update the command-line options to more closely match v1 2008-10-21 16:32:30 -04:00
Rob Crittenden
bc5edcf893 Gracefully handle keyboard interrupts (^C) 2008-10-21 14:42:13 -04:00
Jason Gerard DeRose
5e0a0fa745 In second example in NameSpace docstring, renamed 'member' class to 'Member' to make the example clearer 2008-10-21 08:47:08 -06:00
Jason Gerard DeRose
603baf6b10 Fixed typos in tables in docstrings for Attribute and Method 2008-10-21 08:42:52 -06:00
Rob Crittenden
475265ed37 Implement --all option to display all attributes.
Still need to strip the dn when not doing all.
2008-10-21 09:32:48 -04:00
Rob Crittenden
6b998ed479 Make boolean options work like standard OptionParser booleans 2008-10-21 09:32:48 -04:00
Jason Gerard DeRose
658ba6dc33 Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2 2008-10-20 22:32:10 -06:00
Rob Crittenden
8c54f730c0 Framework for doing password changes
Need mechanism to prompt for new password twice and verify they are the same
2008-10-20 22:41:53 -04:00
Jason Gerard DeRose
461f547e6a Added docstring (with example) to frontend.Attribute class 2008-10-20 20:28:24 -06:00
Jason Gerard DeRose
c818fe1d2d Added docstring (with examples) to frontend.Method class 2008-10-20 19:57:02 -06:00
Jason Gerard DeRose
ac0a019605 Reworked 'plugins' command to use output_for_cli() 2008-10-20 18:57:03 -06:00
Jason Gerard DeRose
bb978e591b Fixed bug in DefaultFrom where impleied keys were using entire func_code.co_varnames instead of an approprate slice 2008-10-20 16:45:32 -06:00
Rob Crittenden
d615e4dafb Port pwpolicy plugin to use b_ldap
Add basic output_for_cli() function to user-show
2008-10-20 16:12:19 -04:00
Martin Nagy
18e74643a6 Add comments in config.py and fix Environment.get() 2008-10-20 19:54:30 +02:00
Jason Gerard DeRose
77a378bd61 Some PEP-257 and reStructuredText cleanup in plugable.py 2008-10-18 01:02:31 -06:00
Jason Gerard DeRose
5c5641e8c2 Added some more examples to Param docstrings 2008-10-18 00:16:22 -06:00
Jason Gerard DeRose
675fadc641 Some PEP-257 and reStructuredText fixes in ipalib/aci.py, ipa_server/ipaldap.py 2008-10-17 23:25:50 -06:00
Jason Gerard DeRose
80ccf8b1c6 Reworked load_plugins so it doesn't use imp.load_module() to load from the plugins/ sub-packages, which previously caused them to be loaded multiple times when runnig the doctests 2008-10-17 22:09:50 -06:00
Jason Gerard DeRose
721982870e Removed generic Command.output_for_cli() method; CLI.run_interactive() now only calls output_for_cli() if it has been implemented 2008-10-17 21:05:03 -06:00
Jason Gerard DeRose
f1eb74e22c make-test now runs doctests also; fixed several broken doctests 2008-10-17 20:50:34 -06:00
Jason Gerard DeRose
8322138f38 Added new Param.flags attribute (set with flags=foo kwarg) 2008-10-17 19:34:26 -06:00
Jason Gerard DeRose
f7b7fa5553 Cleaned up ipalib package-level docstring, removed broken cross-referce to 2008-10-17 19:11:26 -06:00
Martin Nagy
3a80297b04 Reworking Environment, moved it to config.py 2008-10-17 23:11:51 +02:00
Rob Crittenden
ae8370be44 Port f_service to LDAP backend
Add new keyword, 'filter', that can be passed to the search function.
This is globbed onto the filter that is auto-created.
2008-10-17 19:20:23 -04:00
Rob Crittenden
b045f22069 Add mod_python-based XML-RPC server.
Use -e kerberos on the command-line to use the mod_python server, otherwise
it defaults to use the simple-server URL.
2008-10-16 23:33:44 -04:00
Rob Crittenden
f777f72de6 Use the search fields from the configuration when searching
Generalize the attribute -> objectclass search helper
2008-10-16 15:00:30 -04:00
Rob Crittenden
5748fce84c Remove references to ipa_server.* and port group plugin to ldap backend 2008-10-16 10:59:03 -04:00
Rob Crittenden
12f1e7fdf7 Remove all references to ipa_server.* from user plugin 2008-10-16 10:32:20 -04:00
Rob Crittenden
1a8317ff74 Port group-add to use LDAP backend
Have create and update return the record that was just added/modified
2008-10-15 17:46:01 -04:00
Rob Crittenden
14a33d4619 Fix some remaining merge issues and don't use forward() in user-*lock() 2008-10-15 16:50:46 -04:00
Rob Crittenden
3268b65ae0 Initial implementation of a generic search routine. 2008-10-15 16:12:27 -04:00
Jason Gerard DeRose
af7c0ee595 Resolved conficts in Rob's merge 2008-10-15 12:24:15 -06:00
Rob Crittenden
789a248daa Port user-mod to use ldap update() method 2008-10-15 09:58:29 -04:00
Rob Crittenden
e7937f2944 Add missing * to *kw to make it pass named arguments instead of positional 2008-10-15 09:57:49 -04:00
Rob Crittenden
f7c044495a Port user_del to CrudBackend
Override output_for_cli() to generate nicer output
2008-10-14 22:48:57 -04:00
Rob Crittenden
cfc8450efd Port user-show to new CrudBackend framework 2008-10-14 22:22:01 -04:00
Rob Crittenden
1c3f81852c Move some functionality from user-add to the backend ldap create function 2008-10-14 21:28:06 -04:00
Jason Gerard DeRose
0ebdbaa450 Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2 2008-10-14 15:45:57 -06:00
Rob Crittenden
30664cde88 Move some functionality from user-add to the backend ldap create function 2008-10-14 17:46:36 -04:00
Martin Nagy
ff88652a40 Convert string values to boolean when generating environment 2008-10-14 21:22:44 +02:00
Jason Gerard DeRose
9788800aa4 More work on making user-add use Backend.ldap 2008-10-14 02:23:56 -06:00
Jason Gerard DeRose
1480224724 Started roughing out user_add() using api.Backend.ldap; added Command.output_for_cli() to take care of formatting print output 2008-10-14 01:45:30 -06:00
Jason Gerard DeRose
20fa90cfb6 Some small cleanup on Environment, filled in docstrings 2008-10-14 00:39:23 -06:00
Jason Gerard DeRose
149912d0e7 Added ldap.get_user_dn() method 2008-10-14 00:38:17 -06:00
Jason Gerard DeRose
446037fd60 Added Object.get_dn() method; added corresponding unit tests 2008-10-13 23:26:24 -06:00
Jason Gerard DeRose
22669f1fc2 CLI.run_interactive() now uses Param.cli_name instead of Param.name for prompts and errors 2008-10-13 22:00:18 -06:00
Jason Gerard DeRose
2357360e2a Command.params are now sorted the same way as Object.params (make user-add prompt for first, last before login) 2008-10-13 21:53:03 -06:00
Jason Gerard DeRose
b6dcd183a6 CLI now maps Param.cli_name to Param.name 2008-10-13 20:31:10 -06:00
Jason Gerard DeRose
8674086b85 Param now takes cli_name kwarg that sets Param.cli_name attribute 2008-10-13 17:24:23 -06:00
Jason Gerard DeRose
367143adf3 Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2 2008-10-13 15:39:14 -06:00
Rob Crittenden
6d2705b363 Implement user lock and unlock 2008-10-13 17:17:00 -04:00
Rob Crittenden
19465318ce Fix up a comment 2008-10-13 15:17:31 -04:00
Rob Crittenden
fc9f057792 Initial implementation of password policy 2008-10-13 15:01:08 -04:00
Rob Crittenden
0ebaad6462 Do a more specific search for the user 2008-10-13 14:59:48 -04:00
Jason Gerard DeRose
225e2b0c93 Added CrudBackend abstract class defining generic CRUD API 2008-10-13 09:50:29 -06:00
Rob Crittenden
39ad5ccffa Stub out delegations
Add ACI class
2008-10-11 00:49:05 -04:00
Rob Crittenden
250734aea5 Fix syntax error 2008-10-10 14:38:09 -04:00
Rob Crittenden
75bad44c27 Enable the verbose flag to pass thru xmlrpc 2008-10-10 05:23:00 -04:00
Rob Crittenden
42cdca3e83 Use new options handler 2008-10-10 03:40:52 -04:00
Rob Crittenden
dbe49423ab Start service principal plugin 2008-10-10 03:36:57 -04:00
Rob Crittenden
5d2a99925d Implement group-mod 2008-10-10 03:36:57 -04:00
Rob Crittenden
8a97b3e8a8 Implement group-del 2008-10-10 03:36:57 -04:00
Rob Crittenden
5c07d97865 Slight change to how exceptions are handled 2008-10-10 03:36:57 -04:00
Rob Crittenden
83bb41faeb Mechanism to convert from xmlrpclib.Fault to an IPAError exception
Include slew of new exceptions, not all of which are used yet
2008-10-10 03:36:56 -04:00
Rob Crittenden
672c07566d Implement user-del
rename is_user_unique() to user_exists()
2008-10-10 03:36:56 -04:00
Jason Gerard DeRose
87390665f6 crud.Add.get_args() and get_options() now yield static values in takes_args, takes_options after the automagic ones 2008-10-09 11:33:35 -06:00
Jason Gerard DeRose
887016e69d Base Command.execute() method now raises NotImplementedError; updated unit tests 2008-10-08 18:18:13 -06:00
Jason Gerard DeRose
b7fe92f44f Reorganized Command methods so it is easier to understand and added lots of docstrings 2008-10-08 18:01:22 -06:00
Jason Gerard DeRose
fec6fc2e8c Fixed example in raise_TypeError() docstring (thanks, mnagy) 2008-10-07 22:35:45 -06:00
Jason Gerard DeRose
7721443a62 Moved ipalib/tests/ into tests/test_ipalib/ 2008-10-07 20:41:15 -06:00
Jason Gerard DeRose
b2b5b904bc Made package-level docstrings more consistent so they read better in generated documentation 2008-10-07 20:07:16 -06:00
Jason Gerard DeRose
c747c12fb2 Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2 2008-10-07 17:00:36 -06:00
Martin Nagy
732785b997 Add tests for config.py 2008-10-08 00:07:44 +02:00
Martin Nagy
4a1c4a3fe3 Implement argument parsing for the CLI 2008-10-08 00:07:44 +02:00
Martin Nagy
4a68c719f0 Implement config file reading 2008-10-08 00:07:44 +02:00
Rob Crittenden
db9d8dd3e0 Implement a real user_find and move existing user_find to user_show 2008-10-07 06:15:34 -04:00
Rob Crittenden
e012e860b4 Implement user-mod 2008-10-07 04:31:22 -04:00
Rob Crittenden
69bc5ad77a Add some more supporting functions
Do a little bit more error handling and checking
2008-10-07 02:10:15 -04:00
Rob Crittenden
cb795fa14b Add group plugin, routine to get cn=ipaconfig 2008-10-04 05:17:11 -04:00
Rob Crittenden
7e4b0a072e Implement user-find and user-add backend functions so they work over XML-RPC
Change port to 8880 to not conflict with a running IPA v1 instance
Encode incoming values from unicode as utf-8 before sending to LDAP
2008-10-04 01:50:59 -04:00
Jason Gerard DeRose
3ffbaac64c Backend.xmlrpc and simple-server.py now use the xmlrpc_marshal() and xmlrpc_unmarshal() functions respectively 2008-10-02 19:42:06 -06:00
Jason Gerard DeRose
d84e27f0d4 Added ipalib/util.py with xmlrpc_marshal() and xmlrpc_unmarshal() functions; added corresponding unit tests 2008-10-02 19:09:13 -06:00
Jason Gerard DeRose
ed3a5855f3 -m 2008-10-02 17:51:50 -06:00
Jason Gerard DeRose
993b9f4f63 Command.get_default() now only returns a defaults for required values 2008-10-02 17:46:48 -06:00
Martin Nagy
149429f305 Environment is now subclassed from object, rather then dict. Added tests for Environment and config.py 2008-10-02 17:22:41 -06:00
Jason Gerard DeRose
6000b6b5c6 Implemented basic Command.forward() method 2008-10-02 17:02:24 -06:00
Jason Gerard DeRose
0e137110c7 Started on skeleton for xmlrcp client/server 2008-10-02 16:12:19 -06:00
Jason Gerard DeRose
2507b7c674 Clarified docstrings in */plugins/__init__.py; renamed ipa_server/plugins/ipa_ldap.py to b_ldap.py 2008-10-01 16:17:02 -06:00
Jason Gerard DeRose
c846c7d91f Removed the everything except the envtest command and the user related plugins from f_user.py 2008-10-01 16:10:41 -06:00
Jason Gerard DeRose
e963be1dda Renamed plugins/example.py to plugins/f_user.py 2008-10-01 15:56:04 -06:00
Jason Gerard DeRose
cc93e45e13 Removed depreciated override.py module 2008-10-01 15:53:21 -06:00
Jason Gerard DeRose
af6653f607 Added skeleton for kerberos backend 2008-10-01 15:50:04 -06:00
Jason Gerard DeRose
7ee0ccd90d Fixed unit tests; changed example.py so it doesn't import servercore 2008-09-30 20:27:52 -06:00
Rob Crittenden
77e6c99f9d Migrate to new source tree layoute 2008-09-30 19:37:35 -06:00
Rob Crittenden
b965e558b5 Rebase XML-RPC client and server
Fix error handling in server to return exceptions generated in library code
2008-09-30 19:37:35 -06:00
Martin Nagy
afdc721038 Add support for environment variables, change tests accordingly 2008-09-29 17:45:14 -06:00
Jason Gerard DeRose
d77907d2d0 373: Replaced type_ optional arg to Param.__init__() with pure kw arg type; updated unit tests and related code 2008-09-27 01:30:39 +00:00
Jason Gerard DeRose
8901b9a837 372: Started work on docstring for Param class 2008-09-27 00:31:59 +00:00
Jason Gerard DeRose
031daabcc4 371: Added examples to parse_param_spec() docstring and changed syntax guide into a reStructuredText table 2008-09-26 23:41:51 +00:00
Jason Gerard DeRose
7bbd81d831 370: Added detailed examples to decstring for DefaultFrom class 2008-09-26 22:52:15 +00:00
Jason Gerard DeRose
aa45ec616a 369: Added Object.backend attribute used to associated it with a particular backend component 2008-09-26 02:43:11 +00:00
Jason Gerard DeRose
0c3ebe0bef 367: Implementing basics of loading plugins out of tree 2008-09-25 23:21:41 +00:00
Jason Gerard DeRose
ac88500382 366: Ported user_* example Commands to crud base classes; added user_show example command 2008-09-25 03:58:42 +00:00
Jason Gerard DeRose
55ba8e9d0b 365: Implemented find.get_args(), find.get_options(); added corresponding unit tests 2008-09-25 03:47:22 +00:00
Jason Gerard DeRose
ddbe3ae934 364: Implemented Mod.get_args, Mod.get_options(); added corresponding unit tests 2008-09-25 03:42:38 +00:00
Jason Gerard DeRose
152f3089e1 363: Added Object.params_minus_pk instance attribute 2008-09-25 03:27:40 +00:00
Jason Gerard DeRose
c303a06a94 362: Implemented Get.get_args() and Del.get_args(); added corresponding unit tests 2008-09-25 03:14:12 +00:00
Jason Gerard DeRose
023f612921 361: Implemented crud.Add.get_options() method; added corresponding unit tests 2008-09-25 02:13:16 +00:00
Jason Gerard DeRose
9f704e001d 360: Removed Method.get_options() default implementation; cleaned up unit tests for Method 2008-09-25 01:52:34 +00:00
Jason Gerard DeRose
54c97b4948 359: Added Object.primary_key instance attribute; added corresponding unit tests 2008-09-25 01:44:53 +00:00
Jason Gerard DeRose
4267422793 358: Cleaned up private methods in Object 2008-09-25 01:04:10 +00:00
Jason Gerard DeRose
e84dd7a69d 357: Some experimenting with the example plugins 2008-09-25 00:58:16 +00:00
Jason Gerard DeRose
4747563a80 356: Modified Method.get_options() to now pull from self.obj.params(); updated unit tests for Method.get_options() 2008-09-25 00:42:38 +00:00
Jason Gerard DeRose
79b33ad366 355: Object.set_api() now creates Object.params namespace by merging takes_params and properties together intelegintly 2008-09-25 00:00:58 +00:00
Jason Gerard DeRose
f531f7da81 354: Added NameSpace.__todict__() method that returns copy of NameSpace.__map; updated NameSpace unit test to also test __todict__() 2008-09-24 23:49:44 +00:00
Jason Gerard DeRose
be2e323bbf 353: The Object.parms instance attribute is now created in Object.set_api() instead of in Object.__init__() 2008-09-24 23:29:15 +00:00
Jason Gerard DeRose
c3b09b2116 352: Now removed Object.Property property and added in its place Object.properties instance attribute 2008-09-24 23:19:34 +00:00
Jason Gerard DeRose
3d6ab69b46 351: Removed Object.Method property and added in its place Object.methods instance attribute 2008-09-24 22:19:43 +00:00
Jason Gerard DeRose
e2a680d7c9 350: If Param default_from kwarg is callable but not a DefaltFrom instances, the instance is created implicity 2008-09-24 22:05:01 +00:00
Jason Gerard DeRose
755ea8d0c2 349: Improved clarity of local variables in Param.__init__() 2008-09-24 21:57:34 +00:00
Jason Gerard DeRose
250a01b5b7 348: If no keys are passed to DefaultFrom.__init__(), the keys from callback.func_code.co_varnames are used; updated DefaultFrom unit tests to test this usage 2008-09-24 21:46:37 +00:00
Jason Gerard DeRose
566d5ea02a 347: Added primary_key instance attribute to Param and corresponding kwarg; expanded unit tests for Param.__init__() 2008-09-24 21:29:15 +00:00
Jason Gerard DeRose
5479a349a8 346: Added skeleton framework for crud.py module and corresponding test_crud.py module 2008-09-24 20:17:53 +00:00
Jason Gerard DeRose
63a26bd604 345: Moved server code from Rob into ipa_server/ package 2008-09-24 19:56:07 +00:00
Jason Gerard DeRose
f8bb60f02d 344: Added Param.__clone__() method; added corresponding unit tests 2008-09-24 19:45:46 +00:00
Jason Gerard DeRose
a79434584e 343: create_param() function no longer parses the param spec itself but relies on Param.__init__() to do it 2008-09-24 18:44:43 +00:00
Jason Gerard DeRose
97f0310a4c 342: Added unit test that TypeError is raised when Param() is created with extra kw args 2008-09-24 18:33:25 +00:00
Jason Gerard DeRose
06d7fb42ec 341: Param now only takes type_=ipa_types.Unicode() as an optional positional arg, and the rest as pure kwargs 2008-09-24 18:27:14 +00:00
Jason Gerard DeRose
792bf7b1d0 340: Changed default for Param.required to True 2008-09-24 18:02:00 +00:00
Jason Gerard DeRose
11a07008b8 339: Added parse_param_spec() function and corresponding unit tests 2008-09-24 17:55:29 +00:00
Jason Gerard DeRose
744406958d 337: Some cleanup in Params; added docstrings for most all Param methods 2008-09-24 07:56:31 +00:00
Jason Gerard DeRose
fb57b91937 336: Param.__dispatch() now returns None for any in (None, '', u'', tuple(), []) regardless whether Param is multivalue 2008-09-24 07:05:43 +00:00
Jason Gerard DeRose
e63c462f31 335: If Command.__convert_scalar() is called with None, it now returns None instead of raising TypeError 2008-09-24 06:48:27 +00:00
Jason Gerard DeRose
4215da30ad 334: Renamed Command.__multivalue() helper method to Command.dispatch() 2008-09-24 06:36:48 +00:00
Jason Gerard DeRose
1125d420bd 333: Param.convert() now uses name Param.__multivalue() helper method as Param.normalize() 2008-09-24 06:35:19 +00:00
Jason Gerard DeRose
6bedb15674 332: Param.normalize() now returns None if multivalue and len() == 0 2008-09-24 06:25:12 +00:00