Age | Commit message (Collapse) | Author | Files |
|
* TODO: Update.
* lib/libeclat.h (EC2_API_VERSION): Update.
* src/Makefile.am: Add new file.
* src/cpimg-cl.opt: New file.
* src/cpimg.c: New file.
* src/cpsnap-cl.opt: New file.
* src/cpsnap.c: New file.
* src/eclat.c (cmdtab): Add new commands.
* src/eclat.h (eclat_copy_image)
(eclat_copy_snapshot): New protos.
* etc/copy-snapshot.fln: New file.
* etc/copy-image.fln: New file.
* etc/Makefile.am (FLNFILES): Add copy-image.fln
|
|
* TODO: Update.
* etc/create-image.fln: New file.
* etc/deregister-image.fln: New file.
* etc/Makefile.am (FLNFILES): Add new files.
* lib/envmap.c: New file.
* lib/Makefile.am (libeclat_a_SOURCES): Add new files.
* lib/libeclat.h (eclat_encode_devmap): New proto.
* src/creimg-cl.opt: New file.
* src/creimg.c: New file.
* src/drgimg.c: New file.
* src/Makefile.am: Add new files.
* src/dscrimgs-cl.opt: Change short option to -u for
consistency with other commands.
* src/eclat.c: New commands create-image and
deregister-image.
* src/eclat.h (eclat_create_image)
(eclat_deregister_image): New prototypes.
* src/runinsts.c (encode_devmap): Move to the library.
|
|
* TODO: Update.
* etc/describe-images.fln: New file.
* etc/run-instances.fln: New file.
* etc/Makefile.am: Add new files.
* lib/q2url.c (add_param): Accept NULL values.
* lib/qaddparm.c (eclat_query_add_param): Likewise.
* lib/qencode.c (encode_param): Likewise.
* lib/reqsign.c (eclat_query_signature): Likewise.
* src/dscrimgs-cl.opt: New file.
* src/dscrimgs.c: New file.
* src/runinsts-cl.opt: New file.
* src/runinsts.c: New file.
* src/Makefile.am: Add new files.
* src/eclat.c (cmdtab): Register new commands.
* src/eclat.h (eclat_run_instances)
(eclat_describe_images): New protos.
|
|
|
|
* lib/Makefile.am: Update.
* src/Makefile.am: Update.
* tests/Makefile.am: Update.
|
|
* lib/forlan.c: New functions "has_map" and "lookup".
* lib/map.c (eclat_map_open): Don't issue error message
if failed to open the map. Leave that to the caller.
* src/util.c (translate_ids)
(translate_resource_ids): Issue an error message if
eclat_map_open fails.
|
|
Not all maps support reverse lookups generically (for
example, gdbm does not), therefore introduce a new
"bidi" (bi-directional) map, which is a compound of
two maps, each one used for a particular lookup direction.
* lib/Makefile.am (maps): List all maps here.
* lib/bidimap.c: New file. Implementation of a
bi-directional map.
* lib/filemap.c: Update to the changes in API.
Implement reverse lookup.
* lib/gdbmmap.c: Update to the changes in API.
* lib/nullmap.c: Likewise.
* lib/seqmap.c: Likewise.
* lib/ldapmap.c: Update to the changes in API.
Implement reverse lookup.
New configuration keywords: reverse-filter, reverse-attr.
* lib/libeclat.h (eclat_map_drv) <map_get>: Change signature,
take search direction as a new argument.
(eclat_map_get): Likewise.
(eclat_map) <eclat_map_bad_dir>: New status code.
(MAP_DIR, MAP_REV): New macros.
(eclat_map_name_split): New function.
(eclat_map_drv_bidi): New extern.
* lib/map.c (eclat_map_get): Change signature,
take search direction as a new argument.
Pass new keyword to the "key" translation: "dir".
(eclat_map_strerror): Handle new status code.
(eclat_map_name_split): New function.
* src/eclat.c (main): Register eclat_map_drv_bidi.
* src/util.c (translate_ids): Use eclat_map_name_split
to obtain direction code from the map name.
(translate_resource_ids): Use direct lookups.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Likewise.
* tests/bidimap.at: New testcase.
* tests/filemap.at: Test reverse lookups.
|
|
* doc/eclat-delete-volume.1: Update.
* doc/eclat-release-address.1: Update.
* doc/eclat.1: Update.
* doc/eclat.conf.5: New section "CONFIRMATION"
* lib/getyn.c (eclat_vgetyn): Negative default stands for no
default at all.
* lib/confirm.c (eclat_confirm_mode): Remove.
(eclat_confirm): Change signature. Act according to the
first argument.
* lib/libeclat.h (eclat_confirm_mode): New enum.
(eclat_confirm): Change signature.
* src/cmdline.opt: Change handling of -Y and -N options.
* src/config.c: New statement "confirm".
* src/cretags.c: Remove call to eclat_confirm. This is done by
the caller.
* src/delvol.c: Likewise.
* src/reladdr.c: Likewise.
* src/eclat.c (confirm_mode): New variable.
(command) <flags>: New member.
(cmdtab): Mark commands with appropriate flags.
(main): Call eclat_confirm to confirm the command.
* src/eclat.h (confirm_mode): New extern.
(set_command_confirmation): New proto.
* etc/eclat.cfin: Set a reasonably safe confirmation default.
* lib/forlan.c (strtots): Remove unused variable.
|
|
* TODO: Update.
* doc/Makefile.am: Add new files.
* doc/eclat-allocate-address.1: New file.
* doc/eclat-release-address.1: New file.
* doc/eclat-associate-address.1: Update.
* doc/eclat-describe-addresses.1: Update.
* doc/eclat-disassociate-address.1: Update.
* doc/eclat.1: Update.
* etc/Makefile.am: Add new files.
* etc/release-address.fln: New file.
* lib/Makefile.am: Add new files.
* lib/confirm.c: New file.
* lib/getyn.c: New file.
* lib/libeclat.h (eclat_getyn,eclat_vgetyn)
(eclat_confirm): New protos.
(eclat_confirm_mode): New extern.
* src/Makefile.am: Add new files.
* src/cmdline.opt: New options -Y (--yes) and -N (--no).
* src/eclat.c: Register the release-address command.
* src/eclat.h (EX_CANCELLED): New constant.
(eclat_release_address): New proto.
* src/reladdr-cl.opt: New file.
* src/reladdr.c: New file.
|
|
* grecs: Upgrade.
* lib/forlan.c (strtots): New function.
(func_sort): Rewrite. The "sort" built-in takes two
optional arguments: a path to the node to use as a key,
and a string of flags that set the comparison function and
sorting order.
* lib/forlangrm.y: Bugfix in argument verification code.
* src/dscrsnap-cl.opt: Document filters.
* tests/sortnum.at: New file.
* tests/sortrevnum.at: New file.
* tests/sortstring.at: New file.
* tests/sortts.at: New file.
* tests/Makefile.am: Add new test cases.
* tests/testsuite.at: Likewise.
|
|
* TODO: Update.
* configure.ac: Update.
* doc/eclat.1: Update.
* etc/create-snapshot.fln: New file.
* etc/delete-snapshot.fln: New file.
* etc/describe-snapshots.fln: New file.
* etc/Makefile.am: Add new files.
* lib/forlan.c (eval_func): Set return type according to
that of the called function.
(empty,timestamp): New built-in functions.
* src/Makefile.am: Add new files.
* src/cresnap.c: New file.
* src/delsnap.c: New file.
* src/dscrsnap-cl.opt: New file.
* src/dscrsnap.c: New file.
* src/eclat.c: Register new commands.
* src/eclat.h: Add new prototypes.
* tests/create-snapshot.at: New file.
* tests/Makefile.am: Add new file.
* tests/testsuite.at: Likewise.
|
|
* doc/eclat.conf.5: Document sequence maps.
* lib/Makefile.am: Add new files.
* lib/libeclat.h (eclat_map_drv_seq): New extern.
* lib/seqmap.c: New file.
* src/eclat.c: Minor fixes.
* tests/Makefile.am: Add new testcase.
* tests/testsuite.at: Likewise.
* tests/seqmap.at: New file.
|
|
|
|
* doc/eclat.conf.5: Document the null map.
* lib/nullmap.c: New file.
* lib/Makefile.am: Add new files.
* lib/gdbmmap.c (gdbm_map_open): Fix gdbm_open arguments.
Report a detailed error description if it fails.
* lib/libeclat.h (eclat_map_drv_null): New extern.
* src/eclat.c (main): Register the null map.
* tests/.gitignore: Update.
* tests/Makefile.am: Add new files.
* tests/filemap.at: New file.
* tests/gdbmload.c: New file.
* tests/gdbmmap.at: New file.
* tests/nullmap.at: New file.
* tests/atlocal.in (GDBMLOAD): New variable.
* tests/testsuite.at: Include new files.
|
|
* doc/eclat.conf.5: New file.
* doc/Makefile.am: Add new file.
* doc/eclat.1: Update.
* lib/expand.c (eclat_expand_kw): New macro: login.
* lib/filemap.c: Add the "key" statement.
* lib/gdbmmap.c: Likewise.
* lib/ldapmap.c: Likewise.
(ldap_map_open): Always expand binddn.
|
|
|
|
* grecs: Upgrade.
* lib/filemap.c: Revamp configuration routine.
Provide configuration syntax help.
* lib/gdbmmap.c: Likewamp.
* lib/ldapmap.c: Provide configuration syntax help.
* lib/libeclat.h (eclat_map_drv) <map_confhelp>: New member.
(eclat_map_confhelp): New proto.
* lib/map.c (eclat_map_confhelp): New function.
* src/config.c (config_help): Call eclat_map_confhelp.
|
|
* lib/expand.c: New file.
* lib/getans.c: New file.
* lib/Makefile.am: Add new files.
* lib/ldapmap.c (ldap_map) <passfile,prompt>: New members.
(ldapmap_kw) <passfile,prompt>: New keywords.
(ldap_map_open): Prompt for undefined credentials if the
"prompt" statement is set to true.
(ldap_map_get): Use eclat_expand_kw to expand the filter.
* lib/libeclat.h (eclat_trimnl,eclat_getans)
(eclat_expand_kw): New protos.
* lib/map.c (eclat_map_get): Use eclat_expand_kw.
* src/eclat.c (read_format): Likewise.
|
|
* lib/diag.c (parse_debug_level): Allow for category
specifications without level (100 is assumed).
* lib/ldapmap.c (ldap_map_config): Error checking.
(ldap_map_free): Free all allocated memory.
(parse_ldap_uri): Cleanup.
|
|
* configure.ac: Check for openldap.
* lib/Makefile.am (maps) [COND_LDAP]: Add ldapmap.c
* lib/ldapmap.c: New file.
* lib/libeclat.h (eclat_map_drv_ldap): New extern.
* src/eclat.c (main) [WITH_LDAP]: Register eclat_map_drv_ldap.
|
|
* README: Document --with-gdbm
* configure.ac: Detect libgdbm. New option --with-gdbm.
* lib/gdbmmap.c
* lib/Makefile.am (maps) [COND_GDBM]: Add new file.
* lib/libeclat.h (eclat_map_drv_gdbm): New extern.
* src/Makefile.am (LDADD): Add MAPLIBS.
* src/eclat.c (mail) [WITH_GDBM]: Register eclat_map_drv_gdbm.
|
|
Resource identifier mapping permits to use more customized identifiers
instead of the Amazon resource identifiers. For instance, you can use
hostnames instead of the instance IDs, etc.
* lib/Makefile.am: Add new files.
* lib/filemap.c: New file.
* lib/map.c: New file.
* lib/libeclat.h (eclat_map_drv,eclat_map): New structs.
(eclat_map_status): New enum.
(eclat_map_init,eclat_map_lookup,eclat_map_config)
(eclat_map_free,eclat_map_open,eclat_map_close)
(eclat_map_get,eclat_map_strerror,eclat_map_drv_register)
(eclat_map_foreach,eclat_map_free_all)
(eclat_get_string_node): New protos.
(eclat_map_drv_file): New extern.
* src/accfile.c (access_file_lookup): Fix memory leak.
* src/cmdline.opt: New option: --translate (-x)
* src/config.c (eclat_kw) <map>: New block statement.
(config_finish): Parse map configs.
* src/asscaddr.c: Translate key.
* src/dscrinstattr.c: Likewise.
* src/dscrinsts.c: Likewise.
* src/dscrinststat.c: Likewise.
* src/dscrsecgrps.c: Likewise.
* src/getconout.c: Likewise.
* src/startinst.c: Likewise.
* src/eclat.c (main): Initialize maps and free them when no
more needed.
* src/eclat.h (translate_option): New extern.
(translate_ids): New proto.
* src/util.c (translate_option): New variable.
(translate_ids): New function.
|
|
command.
* etc/Makefile.am: Add new file.
* etc/describe-security-groups.fln: New file.
* lib/forlan.c: Implement equality and inequality comparisons.
* lib/forlan.h (forlan_opcode_eq)
(forlan_opcode_ne): New opcodes.
(FORLAN_NTYPES): New constants.
* lib/forlangrm.y: Add equality and inequality productions.
* lib/forlanlex.l: New tokens: == and !=
* src/dscrsecgrps-cl.opt: New file.
* src/dscrsecgrps.c: New file.
* src/Makefile.am: Add new files.
* src/eclat.c: Implement describe-security-groups
* src/eclat.h (eclat_describe_security_groups): New proto.
* src/cretags.c: Fix memory leaks.
* src/deltags.c: Likewise.
* src/dscrtags.c: Likewise.
* tests/describe-security-groups.at: New test case.
* tests/testsuite.at: Include new test case.
* tests/Makefile.am: Add new test case.
|
|
|
|
* Makefile.am (SUBDIRS): Add doc.
* configure.ac: Build doc/Makefile
* doc/Makefile.am: New file.
* doc/eclat-associate-address.1: New file.
* doc/eclat.1: New file.
* etc/associate-address.fln: Call exit if the request fails.
* etc/default.fln: Call exit if error is returned or if the
response is not recognized.
* lib/forlan.c (forlan_eval_env) <exit_code>: New member.
New built-in function: exit.
(forlan_run): Return exit code.
* lib/forlan.h (forlan_run): Change return type.
* lib/forlanlex.l: Treat unquoted decimal number as
a quoted string.
* src/asscaddr-cl.opt: Minor changes.
* src/cmdline.opt: Minor changes.
* src/eclat.c: Return EX_NOPERM on unsufficient permissions
to open the configuration file.
* tests/exit.at: New file.
* tests/Makefile.am: Add new files.
* tests/testsuite.at: Include new test cases.
* tests/tforlan.c: Propagate the return from forlan_run to
the shell.
|
|
* etc/Makefile.am: Add new files.
* etc/get-console-output.fln: New file.
* lib/forlan.c: New built-in function "decode".
* lib/forlangrm.y: Fix grammar to allow functions to
return any data type, not only node.
* src/Makefile.am (eclat_SOURCES): Add new files.
* src/eclat.c: Register get-console-output command.
* src/eclat.h (eclat_get_console_output): New proto.
* src/getconout.c: New file.
* tests/Makefile.am: Add new files.
* tests/testsuite.at: Include new files.
* tests/decode.at: New test case.
* tests/get-console-output.at: New test case.
* tests/last.at: Minor change.
|
|
* etc/Makefile.am: Add new files.
* etc/associate-address.fln: New file.
* etc/disassociate-address.fln: New file.
* lib/forlan.c (eval_expr): Fix boolean NOT.
* src/Makefile.am: Add new files.
* src/asscaddr.c: New file.
* src/dscrtags.c (eclat_describe_tags): Remove unused variables.
* src/eclat.c (cmdtab): Register new commands.
* src/eclat.h (eclat_associate_address)
(eclat_disassociate_address): New commands.
* src/util.c: Add AWSAccessKeyId param in eclat_send_query
instead of in describe_query_create.
* tests/Makefile.am: Add new files.
* tests/testsuite.at: Include new test cases.
* tests/associate-address.at: New test case.
|
|
* configure.ac: Change bug-reporting email.
* grecs: Upgrade.
* lib/forlan.c (eval_comp0): Set root.
* lib/xmltree.c (eclat_partial_tree_end_handler): Set type
to grecs_node_block for empty blocks.
* src/Makefile.am: Add new files.
* src/eclat.c: Rewrite and simplify command name matcher.
Implement describe-instances.
* src/eclat.conf (DescribeInstances): New format.
* src/eclat.h (eclat_describe_instances): New proto.
|
|
* lib/forlan.c (generic_print): Skip NULL entries.
* src/Makefile.am (eclat_SOURCES): Add new files.
(OPTFILES): New variable.
(BUILT_SOURCES,EXTRA_DIST): Add OPTFILES and their derivatives.
* src/dscrinststat-cl.opt: New file.
* src/dscrinststat.c: New file.
* src/util.c: New file.
* src/dscrtags.c: Use functions from util.c
* src/eclat.c: New command describe-instance-status.
(main): Don't coredump on NULL formats.
* src/eclat.conf (DescribeInstanceStatus): New format.
* src/eclat.h (eclat_describe_instance_status)
(describe_query_create)
(eclat_send_query): New protos.
|
|
The new syntax is:
eclat [GLOBAL-OPTIONS] COMMAND [COMMAND-OPTIONS] [ARGS]
* grecs: Upgrade.
* lib/forlan.c: New forlan function: sort().
* src/.gitignore: Update.
* src/Makefile.am: Update.
* src/cmdline.opt: Use the nopermute option.
* src/dscrtags-cl.opt: New file.
* src/descrtags.c: Rename to src/dscrtags.c
* src/eclat.c (command): Revamp structure.
(eclat_command): Remove.
(command_tab): Remove.
(cmdtab,cmdcnt): New globals.
(main): Change command line syntax.
* src/eclat.h (eclat_command): Remove.
(eclat_command): Remove.
* src/startinst-cl.opt: New file.
* src/startinst.c: Include startinst-cl.h. Process the command
line options.
|
|
* lib/forlan.h (forlan_lex_begin): Remove
(forlan_lex_from_buffer)
(forlan_lex_from_file): New protos.
(forlan_parse): Remove.
(forlan_parse_bufferm,forlan_parse_file): New protos.
* lib/forlangrm.y (forlan_parse): Remove.
(forlan_parse_bufferm,forlan_parse_file): New functions.
* lib/forlanlex.l (YY_INPUT): Optionally, read input from file.
(forlan_lex_begin): Remove
(forlan_lex_from_buffer)
(forlan_lex_from_file): New functions.
* src/cmdline.opt: New options: --format, --sort
* src/config.c: New statement: format.
* src/eclat.c: Use output format scripts, if provided.
* src/eclat.conf: Define output format for DescribeTags.
* src/eclat.h: Include forlan.h
(define_format): New proto.
* tests/tforlan.c: New option: -s
|
|
* lib/forlan.c (free_type_comp): Free labels and argv.
(dump_comp): Rewrite.
(eval_node_finder): Remove.
(eval_comp): Rewrite.
(eval_comp0): New function.
(free_type_loop, dump_loop, eval_loop)
(dump_continue, eval_continue)
(dump_break, eval_break)
(dump_stop, eval_stop): New methods.
(f_tab): Add new methods.
* lib/forlan.h (forlan_node_comp): Change structure.
* lib/forlangrm.y: Implement loops.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Likewise.
* tests/forlan01.at: Update.
* tests/tforlan.c: New option -s (sort tree).
* tests/dump01.at: New file.
* tests/dump02.at: New file.
* tests/last.at: New file.
* tests/let.at: New file.
* tests/listall.at: New file.
* tests/print01.at: New file.
* tests/print02.at: New file.
* tests/print03.at: New file.
* tests/tags.xml: New file.
* tests/tagshairy.at: New file.
|
|
* lib/forlan.c: Implement loops and variables.
* lib/forlangrm.y: Likewise.
* lib/forlanlex.l: Likewise.
* lib/forlan.h (forlan_parse): Change return type.
(forlan_type): New types.
(forlan_dump_tree): Change signature.
(forlan_value_type) <forlan_value_boolean>: New type.
* tests/tforlan.c: Update.
|
|
* lib/forlan.c (forlan_find_function): New function.
(func_dump, func_print)
(func_error,func_parent): Function placeholders.
* lib/forlan.h (forlan_node_func) <fp>: Change datatype.
(forlan_eval_env_t): New typedef.
(forlan_value_type): New enum.
(forlan_value,forlan_function): New struct.
* lib/forlangrm.y: Check number of arguments passed to functions.
* tests/forlan01.at: Update.
|
|
* configure.ac: Check for lex and yacc.
* lib/diag.c: New file (moved from ../src with edits)
* lib/forlan.c: New file.
* lib/forlan.h: New file.
* lib/forlangrm.y: New file.
* lib/forlanlex.l: New file.
* lib/.gitignore: Add new files.
* lib/Makefile.am: Add new file.
* lib/libeclat.h: Add diagnostics-related stuff.
* src/Makefile.am (eclat_SOURCES): Remove diag.c
* src/cmdline.opt (set_program_name): Move to ../lib/diag.c
* src/diag.c: Remove (see above).
* src/config.c: Reflect changes to the diagnostics subsystem.
* src/eclat.c: Likewise.
* src/eclat.h: Remove diagnostics-related stuff.
It lives in libeclat.h from now on.
* src/error.c: Remove.
* tests/forlan01.at: New testcase.
* tests/testsuite.at: Include forlan01.at
* tests/tforlan.c: New file.
* tests/.gitignore: Add new files.
* tests/Makefile.am: Add new files.
|
|
* lib/xmltree.c: New file.
* lib/Makefile.am: Add new file.
* lib/libeclat.h: Include expat.h and grecs.h
(eclat_partial_tree_t): New typedef.
(eclat_partial_tree_create,eclat_partial_tree_destroy)
(eclat_partial_tree_finish,eclat_partial_tree_data_handler)
(eclat_partial_tree_start_handler)
(eclat_partial_tree_end_handler): New protos.
* src/eclat.c (main): Initialize XML parser with eclat_partial_tree
handlers and bind it to the CURL output handler.
* tests/.gitignore: Add txml
* tests/Makefile.am (TESTSUITE_AT): Add xml01.at
Build txml
* tests/testsuite.at: Include xml01.at
* tests/txml.c: New file.
* tests/xml01.at: New file.
|
|
* lib/libeclat.h (EC2_API_VERSION): New define.
* lib/qcreat.c: Add "Version: parameter here.
* src/startinst.c: Update.
|
|
* lib/qaddparm.c: New file.
* lib/qcreat.c: New file.
* lib/qencode.c: New file.
* lib/qfree.c: new file.
* lib/Makefile.am: Add new files.
* lib/libeclat.h (ec2_query) <https, verb>: Remove.
<flags>: New member.
(eclat_query_create, eclat_query_free)
(eclat_query_encode): New protos.
* lib/q2url.c (eclat_query_to_url): Fix.
* lib/reqsign.c (eclat_query_signature): Bugfixes.
* src/config.c (config_finish): Call grecs_tree_process.
* src/eclat.c (url_base): Remove.
(main): Install curl debugging function if required.
* src/eclat.h: Update.
* src/startinst.c (eclat_start_instance): Implement.
|
|
* lib/q2url.c: New file.
* lib/Makefile.am: Add new file.
* lib/libeclat.h (ec2_query) <signature>: New member.
(eclat_query_to_url): New proto.
(eclat_query_signature): Change signature.
* lib/reqsign.c (eclat_query_signature): Store signature to
req->signature.
|
|
|
|
* lib/reqsign.c: New file
* lib/libeclat.h (eclat_query_signature): New proto.
* lib/Makefile.am: Add reqsign.c
|
|
|