aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFiles
2014-02-03Update copyright yearsSergey Poznyakoff69
2013-12-20Version 1.0Sergey Poznyakoff1
2013-12-20Rename conmesg to dmesgSergey Poznyakoff1
2013-12-20Ask for confirmation before doing rmsgSergey Poznyakoff1
2013-12-19Implement security group creation and deletion.Sergey Poznyakoff11
* doc/eclat-lssg.1: New file. * doc/eclat-sg.1: New file. * doc/Makefile.inc: Add new files. * etc/create-security-group.fln: New file. * etc/delete-security-group.fln: New file. * etc/Makefile.am: Add new files. * src/mksg-cl.opt: New file. * src/mksg.c: New file. * src/rmsg-cl.opt: New file. * src/rmsg.c: New file. * src/sg.h: New file. * src/Makefile.am: Add new files. * src/eclat.c (cmdtab): New commands "mksg" and "rmsg". * src/eclat.h (eclat_create_security_group) (eclat_delete_security_group): New protos. * src/lssg.c: Include sg.h. Use groupkw instead of the static rt[], which is removed. * src/sg-cl.opt: Use groupkw * src/sg.c (groupkw): New global. * TODO: Update.
2013-12-19sg: accept port 0Sergey Poznyakoff1
2013-12-17Group sg options by functionality in --help output.Sergey Poznyakoff1
2013-12-17Document sgSergey Poznyakoff1
* TODO: Update. * doc/Makefile.inc: Add eclat-sg.1 * doc/eclat-lssg.1: Update. * doc/eclat-sg.1: New file. * src/sg-cl.opt: Fix docstrings.
2013-12-16Improve sg.Sergey Poznyakoff2
Accept --list without argument (list all groups). Accept host and service names as arguments to the --source and --port options. * src/sg-cl.opt (parse_options): Accept --list without argument. * src/sg.c (add_source_cidr, str2port): New functions. (flush_rule): Use the above to process source CIDRs and port numbers.
2013-12-09eclat sg: make --port optional.Sergey Poznyakoff2
2013-12-03Iprove sgSergey Poznyakoff1
* src/sg.c (flush_rule): Add default source address, unless specified.
2013-12-03Implement sg --listSergey Poznyakoff2
* etc/Makefile.am (FLNFILES): Add lsattr.fln (.fln.forlan): Use all prerequisites, not only the first one. (FORMATFILES): Remove lsattr.forlan (lsattr.forlan): Use implicit rule. (sg.forlan): New rule * etc/flncat.c (comment): Optionally output the comment. (main): Output " else " only if some non-whitespace and non-comment characters were output before. * etc/lsattr.fln: New file * src/sg-cl.opt: New option --list. * src/sg.c (list_option): New variable.
2013-12-03Bugfix and compatibility change in lssg/sgSergey Poznyakoff2
* src/lssg.c (eclat_describe_security_groups): Fix the --name option. * src/sg-cl.opt: Use -N as a shorcut for --next, and -n as the one for --name, for compatibility with lssg.
2013-11-28Implement sg commandSergey Poznyakoff5
* etc/sg.fln: New file. * etc/Makefile.am (FLNFILES): Add sg.fln * src/sg.c: New file. * src/sg-cl.opt: New file. * src/Makefile.am (eclat_SOURCES): Add sg.c (OPTFILES): Add sg-cl.opt * src/eclat.c (cmdtab): Add entry for "sg". (eclat_do_command): Ignore tag if it is NULL. * src/eclat.h (eclat_sg): New proto.
2013-07-31Prepare for Signature Version 4.Sergey Poznyakoff5
* lib/hmac_sha256.c: New file. * lib/sha256.c: New file. * lib/sha256.h: New file. * lib/Makefile.am (libeclat_a_SOURCES): Add new files. * lib/libeclat.h (hmac_sha256): New proto. (eclat_query_signature): Rename to eclat_query_sign, take signature version as argument. (eclat_encode_devmap): Remove prototype. * lib/reqsign.c: Use HMAC256 * src/config.c (eclat_kw): New keyword: signature-version, * src/devmap.c (eclat_encode_devmap): Bugfixes. Translate snapshot ids. * src/eclat.c (signature_version): New variable. * src/eclat.h (signature_version): New proto. (eclat_encode_devmap): New proto. * src/util.c (eclat_send_query): Use eclat_query_sign. * tests/hmac01.at: Update. * tests/hmac02.at: Update. * tests/hmac03.at: Update. * tests/thmac.c: Use HMAC256
2013-07-05Further fixes in eclat_encode_devmapSergey Poznyakoff2
* lib/envmap.c: Rename to ... * src/devmap.c (eclat_encode_devmap): Translate snapshot identifiers. Fix check for the number of parts in device specification. * lib/Makefile.am: Update. * src/Makefile.am: Update.
2013-07-02BugfixSergey Poznyakoff1
* src/config.c (cb_confirm): Set cfmode prior to using it.
2013-07-02Rename allocaddr to mkaddrSergey Poznyakoff1
2013-06-25Minor fix.Sergey Poznyakoff1
* src/mkinst.c (add_iface): Fix incorrect argument to the diagnostics function.
2013-05-21Various minor fixes.Sergey Poznyakoff1
* doc/eclat.conf.5: Document EC2 maps. * etc/eclat.cfin: Provide default maps. * lib/Makefile.am (AM_LFLAGS): Remove -v. * lib/bidimap.c (cb_submap): Remove unused variable. * lib/forlan.c: Minor change. * lib/forlangrm.y: Declare prototype for yylex. * lib/forlanlex.l: Add option nounput * lib/libeclat.h (eclat_map) <locus>: New member. * lib/map.c (eclat_map_config): Warn if attempting to redeclare an existing map. * src/ec2map.c (ec2_map_get): Minor change.
2013-05-21BugfixSergey Poznyakoff1
* src/mkinst-cl.opt (parse_options): Translate image ID.
2013-05-04Implement EC2 map.Sergey Poznyakoff5
EC2 map allows to use AWS services as eclap maps. For example, one may use an EC2 tag to map resource names to resource IDs, etc. * src/ec2map.c: New file. * src/io.c: New file. * src/Makefile.am (eclat_SOURCES): Add new files. * src/eclat.c (dump,eclat_trace_fun) (dumpxml,write_callback): Move to io.c (main): Register ec2 map. Use eclat_io framework. * src/eclat.h (eclat_io): New struct. (eclat_io_init, eclat_io_free) (eclat_io_shutdown, eclat_io_finish): New functions. (eclat_map_drv_ec2): New extern.
2013-05-04Bugfixes.Sergey Poznyakoff2
* src/cmdline.opt: Add closing double-quote in the -D preprocessor option. * src/util.c (translate_ids): Do not bail out if the map is not defined.
2013-04-27BugfixSergey Poznyakoff1
2013-04-26Improve ID mapping.Sergey Poznyakoff29
* doc/eclat.conf.5: Update. * src/cmdline.opt: New option --no-translate (-X) * src/config.c (eclat_kw): New statement: translate. * src/eclat.c (main): override the value of translation_enabled from the command line. * src/eclat.h (translate_option): Rename to translation_enabled. All uses changed. (MAP_IMAGE,MAP_INSTANCE) (MAP_GROUPID,MAP_GROUPNAME) (MAP_SNAPSHOT,MAP_VOLUME) (MAP_AZ,MAP_REG): New defines, to use instead of literal map names. All sources updated accordingly. * src/util.c (translate_option): Rename to translation_enabled. (translate_ids): It is not an error if the name is not found in the map. Use it as the resource ID in that case.
2013-04-25Rename freeaddr to rmaddrSergey Poznyakoff4
2013-04-25Bugfix.Sergey Poznyakoff1
* src/eclat.c (print_matching_commands): Fix coredump.
2013-04-25Provide additional m4 magic for creating cl interfaces.Sergey Poznyakoff40
* src/Makefile.am (EXTRA_DIST): Add eclatcl.m4 * src/eclatcl.m4: New file. * src/detvol-cl.opt: Rename to src/devol-cl.opt * src/cmdline.opt: Fix a typo * src/allocaddr-cl.opt: Rewrite usning new m4 macros. * src/asscaddr-cl.opt: Likewise. * src/cpimg-cl.opt: Likewise. * src/cpsnap-cl.opt: Likewise. * src/disasaddr-cl.opt: Likewise. * src/freeaddr-cl.opt: Likewise. * src/lsaddr-cl.opt: Likewise. * src/lsattr-cl.opt: Likewise. * src/lsimg-cl.opt: Likewise. * src/lsistat-cl.opt: Likewise. * src/lssg-cl.opt: Likewise. * src/lssnap-cl.opt: Likewise. * src/lstag-cl.opt: Likewise. * src/mkimg-cl.opt: Likewise. * src/mkinst-cl.opt: Likewise. * src/mktags-cl.opt: Likewise. * src/mkvol-cl.opt: Likewise. * src/allocaddr.c: Update calls to parse_options. * src/asscaddr.c: Likewise. * src/cpimg.c: Likewise. * src/cpsnap.c: Likewise. * src/devol.c: Likewise. * src/disasaddr.c: Likewise. * src/freeaddr.c: Likewise. * src/lsaddr.c: Likewise. * src/lsattr.c: Likewise. * src/lsimg.c: Likewise. * src/lsistat.c: Likewise. * src/lssg.c: Likewise. * src/lssnap.c: Likewise. * src/lstag.c: Likewise. * src/mkimg.c: Likewise. * src/mkinst.c: Likewise. * src/mktags.c: Likewise. * src/mkvol.c: Likewise.
2013-04-25Improve help and usage output.Sergey Poznyakoff35
* NEWS: Version 0.9.90 * configure.ac: Likewise. * grecs: Upgrade. * src/allocaddr-cl.opt: Use OPTIONS_COMMAND_BEGIN to declare subcommand. Remove the nousage flag. * src/cpimg-cl.opt: Likewise. * src/cpsnap-cl.opt: Likewise. * src/asscaddr-cl.opt: Likewise. * src/detvol-cl.opt: Likewise. * src/disasaddr-cl.opt: Likewise. * src/freeaddr-cl.opt: Likewise. * src/lsaddr-cl.opt: Likewise. * src/lsattr-cl.opt: Likewise. * src/lsimg-cl.opt: Likewise. * src/lsistat-cl.opt: Likewise. * src/lssg-cl.opt: Likewise. * src/lssnap-cl.opt: Likewise. * src/lstag-cl.opt: Likewise. * src/mkimg-cl.opt: Likewise. * src/mkinst-cl.opt: Likewise. * src/mktags-cl.opt: Likewise. * src/mkvol-cl.opt: Likewise. * src/generic-cl.opt (generic_parse_options): Change signature. Use subcmd member of struct grecs_proginfo. * src/eclat.h (eclat_do_command): New proto. (generic_parse_options): Change signature. * src/atvol.c: Update call to generic_parse_options. * src/deimg.c: Likewise. * src/getconout.c: Likewise. * src/lsiattr.c: Likewise. * src/lsinst.c: Likewise. * src/lsreg.c: Likewise. * src/lssattr.c: Likewise. * src/lsvol.c: Likewise. * src/lszon.c: Likewise. * src/mksnap.c: Likewise. * src/rmsnap.c: Likewise. * src/rmvol.c: Likewise. * src/setiattr.c: Likewise. * src/startstop.c: Likewise. * src/util.c (translate_ids): Remove unused variable.
2013-04-24Document cpimg and cpsnapSergey Poznyakoff2
2013-04-23Implement copy-image and copy-snapshot.Sergey Poznyakoff7
* 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
2013-04-22Minor fix.Sergey Poznyakoff1
* src/eclat.h (find_command_name): New proto.
2013-04-22Automate generation of command lists in the docs.Sergey Poznyakoff2
* src/.gitignore: Add generated *.man files. * src/Makefile.am (comtab.man,xref.man): Generate auxiliary man files for inclusion into eclat.1 * doc/.gitignore: New file. * doc/Makefile.am: Generate eclat.1 from eclat.1man by including two auxiliary files from src * doc/eclat.1: Rename to doc/eclat.1man * doc/eclat.1man: Replace the list of eclat commands and the "see also" list by the .so requests.
2013-04-20Implement new command - lsattr. Improve docs.Sergey Poznyakoff6
The lsattr command combines the functionality of lsiattr and lssattr.
2013-04-20Add back an accidentally removed file.Sergey Poznyakoff1
2013-04-20Major rewrite. Provide short names for each command.Sergey Poznyakoff42
2013-04-05Implement create-image and deregister-image.Sergey Poznyakoff8
* 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.
2013-02-15Implement DescribeImages and RunInstances.Sergey Poznyakoff7
* 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.
2013-02-09Read default options from the environment variable ECLAT_OPTIONS.Sergey Poznyakoff2
* src/cmdline.opt (process_options): Process the value of the environment variable ECLAT_OPTIONS prior to the actual command line options. * src/eclat.c (main): Update invocation of process_options. * doc/eclat.1: Update.
2013-02-09Make all tag-related subcommands accept the same set of options.Sergey Poznyakoff7
* src/dscrtags-cl.opt: New file. * src/Makefile.am (OPTFILES): Add dscrtags-cl.opt * src/cretags.c (process_tags): New parameter "require_tags". All uses updated. * src/dscrtags.c: Include dscrtags-cl.h. (eclat_describe_tags): Accept the same set of arguments as eclat_create_tags and eclat_delete_tags. * src/eclat.h (describe_query_update): New proto. * src/util.c (describe_query_update): New function. (describe_query_create): Rewrite as an entry point to describe_query_update. * doc/eclat-delete-tags.1: Update. * doc/eclat-describe-tags.1: Update * grecs: Upgrade * src/dscrsnapattr.c (eclat_modify_snapshot_attribute) (eclat_reset_snapshot_attribute): Remove unused locals.
2013-01-23Implement snapshot attribute commands.Sergey Poznyakoff7
* TODO: Update. * etc/describe-snapshot-attribute.fln: New file. * etc/modify-snapshot-attribute.fln: New file. * etc/reset-snapshot-attribute.fln: New file. * etc/Makefile.am: Add new files. * src/dscrsnapattr.c: New file. * src/Makefile.am: Add new files. * src/dscrinstattr.c (list_attrs): Remove. (eclat_describe_instance_attribute): Assign available_attrs. * src/eclat.c (cmdtab): New commands: describe-snapshot-attribute, modify-snapshot-attribute, and reset-snapshot-attribute. * src/eclat.h (eclat_describe_snapshot_attribute) (eclat_modify_snapshot_attribute) (eclat_reset_snapshot_attribute): New protos. (available_attrs): New extern. (list_attrs): New function. * src/modinstattr.c (list_attrs): Rename to list_mod_attrs. * src/util.c (available_attrs): New global. (list_attrs): New function.
2013-01-21BugfixSergey Poznyakoff1
* src/crevol.c (eclat_create_volume): Add SnapshotId parameter.
2013-01-19Update copyright years.Sergey Poznyakoff40
2013-01-19Use AM_CPPFLAGS instead of the obsolete INCLUDES.Sergey Poznyakoff1
* lib/Makefile.am: Update. * src/Makefile.am: Update. * tests/Makefile.am: Update.
2013-01-19Implement modify-instance-attributeSergey Poznyakoff4
* src/modinstattr.c: New file. * src/Makefile.am (eclat_SOURCES): add modinstattr.c * src/eclat.c (cmdtab): Add "modify-instance-attribute" * src/eclat.h (eclat_modify_instance_attribute): New proto. * TODO: Update. * doc/eclat-modify-instance-attribute.1: New file. * doc/eclat-describe-instance-attribute.1: Update. * doc/Makefile.am: Add new file. * etc/modify-instance-attribute.fln: New file. * etc/Makefile.am: Add new file.
2012-12-15Implement map lookup functions in forlan.Sergey Poznyakoff1
* 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.
2012-12-15Implement direct and reverse map lookups.Sergey Poznyakoff2
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.
2012-12-15BugfixSergey Poznyakoff1
* src/cretags-cl.opt: Expect colon as a separator between the map id and symbolic name (-r option).
2012-12-11Accept both Eclat command names and EC2 action names in format statements.Sergey Poznyakoff3
* src/util.c (eclat_actcmp): New function. * src/eclat.h (eclat_actcmp): New proto. * src/eclat.c (find_command_tag): Use eclat_actcmp.
2012-12-11Change handler invocation.Sergey Poznyakoff26
* src/eclat.c: Initialize query in main and pass it to each handler along with the curl pointer in a "runtime environment" structure. If the handler returns 0, send that query to the endpoint (from main, again). This avoids duplication of code. Reserve a CMD_NOQRY flag for commands that are supposed to do everything by themselves. Use command->tag member as the Action parameter. * src/eclat.h (eclat_command_env): New structure. Change all handler prototypes. * src/util.c (describe_query_create): Take a pointer to eclat_command_env_t as the first argument. Assume that the query structure is already initialized. The "verb" argument becomes superfluous and is removed. All uses changed. * src/allocaddr.c: Update. * src/asscaddr.c: Update. * src/attvol.c: Update. * src/cresnap.c: Update. * src/cretags.c: Update. * src/crevol.c: Update. * src/delsnap.c: Update. * src/delvol.c: Update. * src/detvol.c: Update. * src/disassaddr.c: Update. * src/dscraddrs.c: Update. * src/dscrazs.c: Update. * src/dscrinstattr.c: Update. * src/dscrinsts.c: Update. * src/dscrinststat.c: Update. * src/dscrregs.c: Update. * src/dscrsecgrps.c: Update. * src/dscrsnap.c: Update. * src/dscrtags.c: Update. * src/dscrvols.c: Update. * src/getconout.c: Update. * src/reladdr.c: Update. * src/startinst.c: Update.

Return to:

Send suggestions and report system problems to the System administrator.