This repository was archived by the owner on Nov 21, 2019. It is now read-only.
This repository is currently being migrated. It's locked while the migration is in progress.
Releases: tanium/pytan
Releases · tanium/pytan
2.1.5
2.1.5
Released on Sep 15 2015
- bug fix:
- pollers.QuestionPoller(): increase number of get_result_info retries from 2 to 10 and add one second delay between each retry in get_result_info(), add gri_retry_count to parameter docs everywhere
- sessions.Session(): missing statslog in setup_logging
- enhancement:
- Added support for PyTan User Config for storing Handler arguments in JSON format
- handler.Handler(): add pytan_user_config parameter to init, add support for overriding init parameters with values from PyTan User Config as json file
- constants: add PYTAN_USER_CONFIG for default location of PyTan User Config as ~/.pytan_config.json
- binsupport.input_prompts(): no longer prompt for missing inputs if PyTan User Config is valid and has the parameters
- adding --pytan_user_config to all bin/ scripts for Handler Options
- handler.Handler(): added write_pytan_user_config() and read_pytan_user_config()
- added password obfuscation/de-obfuscation, write_pytan_user_config() will now obfsucate the password, init() will now always try to de-obfuscate the password if the password starts and ends with ::
- add examples for new write_pytan_user_config script
- re-built documentation for 2.1.5
2.1.4
2.1.4
Released on Sep 14 2015
- bug fix:
- handler.Handler(): check for str version of found objects attribute in manual override/non api search
- pollers.QuestionPoller(): added a retry to GetResultInfo calls in pollers if estimated_total == 0 in order to overcome internal bug #5193 (random estimated_total == 0 returns from GRI, unable to reproduce on demand)
- enhancement:
- added winlib/ directory
- added open source package pyreadline to winlib/ directory
- re-tooled pytan.binsupport.HistoryConsole to make it more error proof
- re-tooled pytan.binsupport.HistoryConsole to import winlib/ if on windows (for access to pyreadline)
- pytan_shell.py now has tab completion support on Windows (and a host of keyboard shortcuts)
- new script: get_saved_question_history.py -- provides a method for seeing what questions asked for a saved question have data
- new script: approve_saved_question.py -- provides a way to approve an action when Global Setting "require_action_approval" is set to 1
- pollers.QuestionPoller(): added override_estimated_total parameter
- pollers.ActionPoller(): added override_passed_count parameter
- doc:
- examples added for ask_parsed.py
- examples added for get_saved_question_history.py
- examples added for approve_saved_question.py
- examples updated for stop_action.py
- updated docstrings for Handler for deploy_action, ask_saved, ask_parsed, ask_manual to include Poller passthroughs
- fixed broken console.wsdl link
- added Command Line Help to left hand side bar
- added better descriptions for the SOAP examples, PyTan Command Line Help, and PyTan API Validation test sections
- test:
- updating sensors used in tests due to change in Initial Content (sensor “Folder Name Search with RegEx Match” no longer available, switched to use “Folder Contents”)
2.1.3
2.1.2
2.1.1
2.1.0
2.1.0
Released on Sep 05 2015
- bug fixes:
- pytan.handler.Handler.deploy_action(): changed to return package object that was created for said action, not the package object that was sourced from
- pytan.handler.Handler._platform_is_6_2(): force a call to pytan.handler.Handler.get_server_version() if self.server_version_dict is not set yet
- pytan.handler.Handler.deploy_action(): fix packages created by Tanium SOAP API when adding an action so that they are hidden from the console. also ensure more of the attributes for the source package are copied into the new package for continuity.
- pytan.handler.Handler._get_package_def(): fix for pytan.handler.Handler.deploy_action() when searching for packages by name -- if using a package that has in the past existed, had actions deployed against it that created hidden packages, then the actual visible package was deleted and re-created with the same name, _get_package_def() would actually target one of the hidden packages. added include_hidden_flag=0 to GetObject call in _get_package_def() to fix this. also added to pytan.handler.Handler.sensor_def() to stem possible similar issues for pytan.handler.Handler.ask_manual()
- in pytan.handler.Handler._parse_versioning(): Added notes re: server_version states and added server_version_bad_states. both checks for server_version will check against server_version_bad_states.
- pytan.utils.log_session_communication(): Update to use LAST_REQUESTS_RESPONSE object instead of XML body variables
- enhancements:
- pytan.handler has new methods: ask_parsed, parse_query, xml_to_result_set_obj, create_report_file
- massive refactor, bringing all code from bin scripts into pytan.binsupport
- massive refactor, moving all command line code from pytan.utils to pytan.binsupport
- massive refactor:
- cleaned up all arguments everywhere
- ensured every method takes kwargs that needs to
- changed all argument passing to explicit name/value pairs
- pytan.handler.Handler._export_format_xml(): Add support for ResultSet by checking for _RAW_XML on object, and also run XML through pytan.utils.xml_pretty()
- pytan.session.Session.get_server_info(): added better error handling
- pytan.binsupport.add_ask_report_argparser(): Add XML option for command line scripts that support export format options for asking reports
- pytan.binsupport.setup_parser(): Modify the argument parser used by all bin scripts to expose more handler options
- pytan.handler.Handler.deploy_action(): added action_name and action_comment options
- pytan.constants: add xml as supported format for ResultSet
- pytan.constants: add ask_parsed as supported question type
- pytan.sessions.Session(): massive refactor:
- move response_prunes in _get_response() to self.BAD_RESPONSE_CMD_PRUNES
- renamed self.last to self.LAST_RESPONSE_INFO, add initial null variable to Object level and doc
- renamed self.REQ_RESPONSE to self.LAST_REQUESTS_RESPONSE, add initial null variable to Object level and doc
- add self.RECORD_ALL_REQUESTS to Object level and doc, controls whether every Requests response object gets appended to self.ALL_REQUESTS_RESPONSES, add kwargs pass thru to init, add kwargs pass through to pytan.handler.Handler
- add self.ALL_REQUESTS_RESPONSES to Object level and doc
- add initial null variables to Object level and doc for: server, port, server_version
- get rid of the *_CMD object variables, unnecessary
- get rid of the *_RE object variables, replace with single ELEMENT_RE_TXT
- rename _parse_response_for_regex() to _regex_body_for_element()
- update _regex_body_for_element() to take element name to search for instead of regex, compile regex on the fly from self.ELEMENT_RE_TXT, log debug messages about regex results
- rename _extract_cdata_el() to _extract_resultxml()
- remove export_id element searching from _extract_resultxml()
- change _extract_resultxml() to return the raw resultxml text instead of the ElementTree object
- remove LAST_XML_REQUEST_BODY and LAST_XML_RESPONSE_BODY object variables from everywhere — these values can be retrieved from LAST_REQUESTS_RESPONSE.request.body and LAST_REQUESTS_RESPONSE.text respectively
- remove _extract_export_id()
- remove export_id handling code from get_result_data()
- add get_result_data_sse(), which explicitly expects an export_id to exist in the XML response
- bin/ and winbin/:
- all new bin scripts
- now every script is automatically generated and maintained by build system
- ask_saved_question is now ask_saved
- ask_manual_quesiton is now ask_manual
- Tanium_Sensor_Analysis_Tool is now tsat
- Tanium_Unmanaged_Asset_Tracker moved to EXAMPLES/POC for now, unmaintained
- new script: ask_parsed
- pytan.sessions.Session.get_server_version(): change log level for version parse failures to debug instead of warning
- doc updates:
- doc string updates all over the place
- pointers to KB/Tanium
- double quotes for windows
- console.wsdl ref link
- command line help has note about export format needing to be at end of command line now
- re-wrote BUILD/build_api_examples.py as a real process
- added auto build of SOAP API documentation
- added auto build of pytan validation tests documentation
- flattened, reformatted, and cleaned up doc structure
- made all documentation more automated, no more need to update RST files with new methods/removed methods
2.0.1
2.0.1 (Aug 11 2015)
- Added saved action approval support
2.0.3
2.0.3
Released on Aug 26 2015
- Added support for server side exports via pytan.handler.get_result_data_sse()
- Added server side export poller to pytan.pollers.SSEPoller
- Added server side export constants to pytan.constants
- Added server side export exceptions to pytan.exceptions
- Added server side export POC to EXAMPLES/poc/test_server_side_export.py
- Refactoring of pytan.sessions, pytan.handler, and pytan.pollers
- Refactored server version checking in pytan.handler
- Updated doc/console.wsdl to platform version 6.5.314.3400
- Re-generated pytan/lib/taniumpy from new doc/console.wsdl
- Added changelog and todo links to pytan readme
- Change functional tests to split invalid / valid server tests into individual files
- Made logging of threaded_http use stderr
- Made logging of threaded_http controllable
- Fixed up tags
- Added tag links to Changelog
- Re-org of TODO.md, relocate to root dir
- Re-org of CHANGELOG.md, added links to releases, old changes, etc
- Updated pytan_test_steps.md to reference new functional test script name
- Copied pytan_test_steps.md to static doc dir
- Incorporated console.wsdl in doc dir
- Added version of tanium server to console.wsdl
- Modified taniumpy build process, using doc/console.wsdl now
- Re-generated taniumpy from 6.5.314.4291 console.wsdl
2.0.2
2.0.2 (Aug 18 2015)
- Logging improvements
- Test verbosity cleanups
2.0.0
2.0.0 (Aug 7 2015)
- 6.2 and 6.5 support
- Completely overhauled session support (we now use keep alive, gzip, and other fun things)
- Completely overhauled Question polling
- Completely overhauled Action polling
- New XML cleaning to remove illegal characters that sometimes slip into sensor data from non-US systems
- And a whole lot of improvements, bug fixes, and performance fixes for large result sets beyond that