Commit Graph

552 Commits

Author SHA1 Message Date
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
Jason Gerard DeRose
d56f4c643b 331: Param.normalize() no longer raises a TypeError when value in not a basestring 2008-09-24 06:11:46 +00:00
Jason Gerard DeRose
95abdcd714 330: Command.normalize() now normalizes all keys, not just keys in params 2008-09-24 05:49:30 +00:00
Jason Gerard DeRose
15b83ab1bf 329: Command.convert() now converts all keys, not just keys in params 2008-09-24 05:46:49 +00:00
Jason Gerard DeRose
126b31de55 328: Command.get_default() now returns defaults for all values not present, not just defaults that aren't None 2008-09-24 05:42:31 +00:00
Jason Gerard DeRose
eaf15d5a52 327: Improved formatting on show-api cli command 2008-09-24 05:35:40 +00:00
Jason Gerard DeRose
f3ac709922 326: Made output of plugins cli command nicer 2008-09-24 05:03:10 +00:00
Jason Gerard DeRose
3e70c3b56b 325: API.finalize() now creates instance attribtue 'plugins', which is a tuple of PluginInfo objects; renamed show_plugins cli command to namespaces; added new cli command plugins 2008-09-24 04:44:52 +00:00
Jason Gerard DeRose
3bf2da5714 324: Removed 'smart_option_order' from Command.__public__; cli commands help, console, and show_plugins now override Command.run() instead of Command.__call__() 2008-09-24 03:10:35 +00:00
Jason Gerard DeRose
19bbc48eb6 323: Added Command.run() method that dispatches to execute() or forward(); added corresponding unit tests 2008-09-24 02:52:19 +00:00
Jason Gerard DeRose
4dbbf5656d 322: Updated ipalib package docstring, replacing cross reference to 'public' with 'frontend' 2008-09-24 01:43:51 +00:00
Jason Gerard DeRose
c38b90d5d4 321: Standard ipalib.api attribute now accepts plugins from the Backend base class 2008-09-24 01:36:54 +00:00
Jason Gerard DeRose
f3aaf65f1c 320: plugable.API now respects the Plugin.__proxy__ flag; added test for plugins without proxy to unit tests for API 2008-09-24 00:44:41 +00:00
Jason Gerard DeRose
81de10f176 319: Added new backend and tests.test_backend modules; added place-holder Backend class and corresponding unit tests 2008-09-24 00:12:35 +00:00
Jason Gerard DeRose
4e8ff5c656 318: Renamed all references to 'public' module to 'frontend' 2008-09-24 00:01:29 +00:00
Jason Gerard DeRose
2842e85d88 317: Renamed public.py to frontend.py; renamed test_public.py to test_frontend.py 2008-09-23 23:51:03 +00:00
Jason Gerard DeRose
024022c2f9 315: Renamed Property.option instance attribute to Property.param 2008-09-22 15:33:32 +00:00
Jason Gerard DeRose
b206ef6843 314: Completed some missing features in Command.__call__(); removed depreciated Command.print_call() method 2008-09-22 01:28:57 +00:00
Jason Gerard DeRose
49c1c29df1 313: Added Object.params instance attribute 2008-09-22 00:37:01 +00:00
Jason Gerard DeRose
cbcadb89e4 312: Cleaned up docstring for create_param(); Command.finalize() now uses create_param() when creating args and options namespaces 2008-09-21 22:43:50 +00:00
Jason Gerard DeRose
952b45f138 311: Renamed generate_option() to create_param() 2008-09-21 22:18:33 +00:00
Jason Gerard DeRose
14e932a8cd 310: generate_option() function now can accept a Param object, which it returns without modification 2008-09-21 22:11:14 +00:00