Raphaël Vinot
bfc6694cd1
Merge pull request #13 from dputtick/rtl-char
...
Support right to left override character
2017-03-18 09:47:13 +01:00
Dan Puttick
2a5decf0ad
Add rtl sample file to src_invalid
2017-03-16 17:34:20 -04:00
Dan Puttick
71bcc79c20
Remove rtl override char from file dst_path
...
The unicode right to left override character can be used for various attacks.
This commit:
* Detects this character in the filename on the source key
* Strips it from the path before copying it to the dest key
* Marks the file as dangerous (this character doesn't belong in a filename)
2017-03-16 12:22:26 -04:00
Raphaël Vinot
79b15fd7da
Merge pull request #12 from dputtick/dev
...
API changes and (some) logging functionality
2017-03-16 10:45:20 +01:00
Dan Puttick
1abfb432b1
Edit README.md
...
* Mention that example files are not up to date with the new API changes
* Update example code for API changes
2017-03-15 22:56:01 -04:00
Dan Puttick
4d8a1d1daf
Add/update docstrings for filecheck and helpers
2017-03-15 22:56:00 -04:00
Dan Puttick
ac94cf5d6d
Change the way test dst dirs are handled
...
* Each test folder now copies files into its own test directory
* Change gitignore due to dst dir changes
* Make sure logger.tree is called for every directory
2017-03-15 22:56:00 -04:00
Dan Puttick
0175ee48e5
Add TODOs and clarify various logging messages
2017-03-15 22:56:00 -04:00
Dan Puttick
963a2feef4
Change various methods to properties
2017-03-15 22:55:51 -04:00
Dan Puttick
59cde8cfd5
Move safe_copy to FileBase
2017-03-15 21:06:07 -04:00
Dan Puttick
e73721e95f
Fix bug with safe_copy
2017-03-15 21:06:07 -04:00
Dan Puttick
484c71fc86
Turn off copying for certain mimes in filecheck
2017-03-15 21:06:07 -04:00
Dan Puttick
18857da7ca
Several small bugfixes
...
* Fix issue with main/subtypes in init
* Fix bug in File.check() in filecheck.py
* Fix FileBase.size for symlinks
2017-03-15 21:06:07 -04:00
Dan Puttick
3fe8c7c223
Adjust order of property initialization
...
Tests were failing due to values being set before file_props dict
was created
2017-03-15 21:06:07 -04:00
Dan Puttick
0038d3ef66
Switch to using file properties
...
* make_dangerous now takes a description string
* add_file_string takes strings describing the file
2017-03-15 21:06:07 -04:00
Dan Puttick
fc8923fddd
Change Groomer private methods to public
...
* Changed safe_rmtree, safe_copy, safe_remove, and safe_mkdir to public methods
* If something is being used in a subclass it probably shouldn't be a private
method
2017-03-15 21:06:07 -04:00
Dan Puttick
12d5624b4d
Change FileBase.log_details to Filebase._file_props
...
* _file_props is a dict that will hold all information about the file
* Updated filecheck.py to reflect this
* Potentially will change contents of file_props to being attributes on the
file in the future. This change would be easy since all access to _file_props
is now via set_property and get_property methods.
* Add filename to _file_props
2017-03-15 21:06:06 -04:00
Dan Puttick
1c58a7347e
If no extentions FileBase.ext is now None
2017-03-15 21:06:06 -04:00
Dan Puttick
b6c01db1fb
Split mimetype methods
...
- Instead of one large function that mutates FileBase properties,
mimetype and main/subtype are determined by two separate methods
that return mimetypes.
- The API is not changed.
- Absence of mimetype is now None instead of an empty string.
2017-03-15 21:06:06 -04:00
Dan Puttick
9832101c85
Identify TODOs that are log related
2017-03-15 21:06:06 -04:00
Dan Puttick
8d7dd1197f
Move run_process back to Groomer object
2017-03-15 21:06:06 -04:00
Dan Puttick
781d0a76af
First working version with methods in File object
...
- All tests now passing with file handling methods on File object
instead of Groomer object.
- Logging functionality still isn't finished.
2017-03-15 21:06:06 -04:00
Dan Puttick
9aafe6e518
Remove cur_file from methods in File object
2017-03-15 21:06:06 -04:00
Dan Puttick
53c1598af8
Move file processing methods into File object
...
- It seems like filecheck will be easier to reason about if all of
the file processing stuff happens in the File object. The Groomer
object will now be responsible only for enumerating the files to
be processed.
- Tests won't pass for this commit, but wanted to make the diff
cleaner but committing this before making changes.
2017-03-15 21:04:57 -04:00
Dan Puttick
3d36c90d66
Make list_all_files a public method
2017-03-15 21:04:57 -04:00
Dan Puttick
4a99ba900a
Make self.get_extension return a value
2017-03-15 21:04:57 -04:00
Dan Puttick
c6ecc5e3a3
Fix process_dir bug in filecheck tests
2017-03-15 21:04:57 -04:00
Dan Puttick
bfa257534a
Remove old data/ path stuff from helpers.py
2017-03-15 21:04:57 -04:00
Dan Puttick
cfeccc2561
Move main() into filecheck
...
- Also change the name of processdir to process_dir
2017-03-15 21:04:57 -04:00
Dan Puttick
61aa14c98d
Change _write_log to _print_log
2017-03-15 21:04:57 -04:00
Dan Puttick
9d2f5c7241
Add .jpg test file, testfile_directory.md
...
- Also fixed a bug with metadata code
2017-03-15 21:04:57 -04:00
Dan Puttick
a450fe6b96
Add config object to filecheck
...
- Grouped all configuration options for filecheck into a Config object
- Makes the code easier to read since no longer many references to different
configuration globals
2017-03-15 21:04:57 -04:00
Dan Puttick
7d62238270
Hacks to make tests pass before fixing
2017-03-15 21:04:57 -04:00
Dan Puttick
1cf8a62f46
First commit with Logger object
...
- Made logger object
- Moved some logger related code from Groomer to Logger
- Changed logging related tests
- Filecheck tests still do not pass
2017-03-15 21:04:57 -04:00
Dan Puttick
92d1b1cd93
Refactor metadata processing code
2017-03-15 21:01:28 -04:00
Dan Puttick
e2af701ac9
Remove several pieces of unused code
...
* Remove python 2 KittenGroomerBase.tree
* Remove default source and dest from KittenGroomerFileCheck
* Remove unused sys import
2017-03-15 21:01:28 -04:00
Dan Puttick
774095d95a
Fix list_all_files docstring
2017-03-15 21:01:28 -04:00
Dan Puttick
0be926c0eb
Reorganize KittenGroomerBase __init__
2017-03-15 21:01:28 -04:00
Dan Puttick
3cc9aa23f2
Clarify language in README
2017-03-15 21:01:28 -04:00
Dan Puttick
dc76e00554
Removed broken coveralls link in README
2017-03-15 21:01:28 -04:00
Raphaël Vinot
a3cad2c21e
Fix forgotten copy
2017-03-14 10:47:20 +01:00
Raphaël Vinot
4cbd15a4a2
Fix spell
2017-03-10 14:56:32 +01:00
Raphaël Vinot
8a186bfd26
Merge branch 'master' of github.com:CIRCL/PyCIRCLean
2017-03-10 14:45:11 +01:00
Raphaël Vinot
b0224d781a
Update slides
2017-03-10 14:45:00 +01:00
Raphaël Vinot
515687b1fe
Generate SHA256 hash instead of SHA1.
2017-03-10 12:20:57 +01:00
Raphaël Vinot
dd35d23162
Merge pull request #8 from dputtick/dev-py3
...
Version 2.1
2017-01-19 18:23:17 -05:00
Dan Puttick
3041c6303f
Update changelog to version 2.1
2017-01-19 17:48:14 -05:00
Dan Puttick
833ade6008
Change to Python 3 compatible only
2017-01-19 17:06:34 -05:00
Dan Puttick
fd30fb3e08
Change _run_process() to use builtin timeout parameter
...
NOTE: this change breaks Python 2 compatability: subprocess.check_call does not
take a timeout argument in Python 2.7
2017-01-19 17:00:10 -05:00
Dan Puttick
573cf51b69
Switch back to main officedissector repo
2017-01-19 16:28:22 -05:00