Commit Graph
100 Commits
Author SHA1 Message Date
Andris Raugulis 9a409e835e Refactor outer functions within classes.
Use mypy strict optional checks and fix them.
Use better comparison for compatiblity output.
Add initial socket tests.
2016-11-03 19:10:49 +02:00
Andris Raugulis 6fde896d77 Add resolve tests. 2016-11-02 19:29:21 +02:00
Andris Raugulis 6c4b9fcadf Banner should be in printable ASCII, not the whole ASCII space. 2016-11-02 18:25:13 +02:00
Andris Raugulis 5bb0ae0ceb Rework is/to ASCII and implement printable ASCII is/to functions.
Add Utils tests.
2016-11-02 18:23:55 +02:00
Andris Raugulis 11b6155c64 Use Python defined error numbers. 2016-11-02 13:18:03 +02:00
Andris Raugulis 44c1d4827c Specify error when couldn't get banner. Test for timeout and retry cases. 2016-11-02 13:00:24 +02:00
Andris Raugulis dd3ca9688e Back to development version. 2016-10-26 19:14:03 +03:00
Andris Raugulis e42064b9b9 Release 1.7.0. 2016-10-26 19:02:13 +03:00
Andris Raugulis 8c24fc01e8 Merge branch 'develop' 2016-10-26 19:00:44 +03:00
Andris Raugulis 4fbd339c54 Document changes and add coverage badge. 2016-10-26 18:56:38 +03:00
Andris Raugulis 66b9e079a8 Implement new options (-4/--ipv4, -6/--ipv6, -p/--port <port>).
By default both IPv4 and IPv6 is supported and order of precedence depends on OS.
By using -46, IPv4 is prefered, but by using -64, IPv6 is preferd.
For now the old way how to specify port (host:port) has been kept intact.
2016-10-26 18:33:00 +03:00
Andris Raugulis 4684ff0113 Add linter fixes for tests. 2016-10-25 17:19:08 +03:00
Andris Raugulis 84dfdcaf5e Invalid CRC32 checksum test. 2016-10-25 16:59:43 +03:00
Andris Raugulis 318aab79bc Add simple server tests for SSH1 and SSH2. 2016-10-25 16:57:30 +03:00
Andris Raugulis aa4eabda66 Do not count coverage for missing import. 2016-10-25 14:04:54 +03:00
Andris Raugulis 4bbb1f4d11 Use safer UTF-8 decoding (with replace) and add related tests. 2016-10-25 13:53:51 +03:00
Andris Raugulis 66bd6c3ef0 Test colors only if they are supported. 2016-10-25 11:57:13 +03:00
Andris Raugulis 182467e0e8 Fix typo, which slipped in while adding type system. 2016-10-25 11:52:55 +03:00
Andris Raugulis 385c230376 Add colors support for Microsoft Windows via optional colorama dependency. 2016-10-25 11:50:12 +03:00
Andris Raugulis 855d64f5b1 Ignore virtualenv and cache. 2016-10-25 03:13:42 +03:00
Andris Raugulis 5b3b630623 Fix pylint reported issues and disable unnecessary ones. 2016-10-20 20:00:51 +03:00
Andris Raugulis a5f1cd9197 Tune prospector and pylint settings. 2016-10-20 20:00:29 +03:00
Andris Raugulis cdfe06e75d Fix type after argument removal. 2016-10-20 17:19:37 +03:00
Andris Raugulis cbe7ad4ac3 Fix pylint reported no-self-use and disable checks in py2/3 compatibility code. 2016-10-20 17:06:23 +03:00
Andris Raugulis dfb8c302bf Fix pylint reported attribute-defined-outside-init. 2016-10-20 16:46:53 +03:00
Andris Raugulis 4120377c0b Remove unnecessary argument. 2016-10-20 16:41:44 +03:00
Andris Raugulis 5be64a8ad2 Fix pylint reported dangerous-default-value. 2016-10-20 16:31:48 +03:00
Andris Raugulis 67087fb920 Fix pylint reported anomalous-backslash-in-string. 2016-10-20 16:27:11 +03:00
Andris Raugulis 42be99a2c7 Test for non-ASCII banner. 2016-10-19 20:53:47 +03:00
Andris Raugulis ca6cfb81a2 Import mypy configuration script and run scripts (for Python 2.7 and 3.5).
Import pytest coverage script.
2016-10-19 20:51:57 +03:00
Andris Raugulis fabb4b5bb2 Add static typing and refactor code to pass all mypy checks.
Move Python compatibility types to first lines of code.
Add Python (text/byte) compatibility helper functions.
Check for SSH banner ASCII validity.
2016-10-19 20:47:13 +03:00
Andris Raugulis 8ca6ec591d Handle the case when received data is in wrong encoding (not utf-8). 2016-10-18 09:45:03 +03:00
Andris Raugulis 6b76e68d0d Fix wrongly introduced Python 3 incompatibility. Fixes #14 and #15.
Add static type checks via mypy (optional static type checker),
Add relevant tests, which could trigger the issue.
2016-10-17 20:31:13 +03:00
Andris Raugulis f065118959 Create virtual socket fixture (socket mocking). 2016-10-17 20:27:35 +03:00
Andris Raugulis 63a9c479a7 Test kex payload generation. 2016-10-14 16:17:38 +03:00
Andris Raugulis c9d58bb827 Switch to new development version. 2016-10-14 09:14:07 +03:00
Andris Raugulis 76509a1011 Release 1.6.0. 2016-10-14 09:01:10 +03:00
Andris Raugulis 98717198c2 Merge develop branch. 2016-10-14 08:59:31 +03:00
Andris Raugulis e50544def9 Set the release date. 2016-10-14 08:55:29 +03:00
Andris Raugulis 4959029c33 Use output spy for tests. 2016-10-13 18:01:11 +03:00
Andris Raugulis 2abbe8f229 Test SSH1 pkm payload generation. 2016-10-13 17:56:39 +03:00
Andris Raugulis 58a943bed9 Share output spying for tests. 2016-10-13 17:55:59 +03:00
Andris Raugulis e60d4ff809 Add kex/pkm payload generation. 2016-10-13 17:53:39 +03:00
Andris Raugulis 93b908f890 Fix error output. 2016-10-13 17:53:01 +03:00
Andris Raugulis 3868b9f45f Update features for README. 2016-10-10 14:08:01 +03:00
Andris Raugulis 5f760fb8f8 New version screenshot and ChangeLog notes. 2016-10-10 14:03:45 +03:00
Andris Raugulis dabbad3afc Coveralls should be installed. 2016-10-10 13:07:52 +03:00
Andris Raugulis c58041b97c Add Coveralls. 2016-10-10 13:05:25 +03:00
Andris Raugulis 69436b2c77 Test command line parsing. 2016-10-10 12:42:40 +03:00
Andris Raugulis f1e8231b67 Make usage's output independent. 2016-10-10 12:42:01 +03:00
Andris Raugulis 4d16a58f22 Use latest pytest for tests. 2016-10-07 20:03:37 +03:00
Andris Raugulis 07c272f197 Fix warnings in test. 2016-10-07 19:55:49 +03:00
Andris Raugulis 84ac5a30ab Decouple AuditConf from Output. 2016-10-07 19:55:31 +03:00
Andris Raugulis 705bedd608 Do not output empty algorithm. 2016-10-06 16:22:09 +03:00
Andris Raugulis aec576b57a Output and OutputBuffer tests. 2016-10-06 15:20:02 +03:00
Andris Raugulis 4b456dd01e Return level name, not level itself (make consistent with setter). 2016-10-06 15:18:39 +03:00
Andris Raugulis 301a27ae27 Wrap utils in single class. 2016-10-06 14:36:30 +03:00
Andris Raugulis 76f49d4016 Output unicode not bytes in Python3. 2016-10-06 03:42:43 +03:00
Andris Raugulis d0356564d5 Add SSH1 and SSH2 tests. 2016-10-06 02:59:31 +03:00
Andris Raugulis ec0b4704e9 Move Kex to SSH2. 2016-10-06 02:59:15 +03:00
Andris Raugulis a193059bc9 Lazy CRC32 initialization. 2016-10-05 14:56:36 +03:00
Andris Raugulis 4b69544d91 Remove unused monkeypatch. 2016-10-05 09:28:10 +03:00
Andris Raugulis 7959c7448a Fix and update write buffer. Add buffer tests. 2016-10-05 06:06:26 +03:00
Andris Raugulis 262c65b7be Fix version comparison and update tests. 2016-10-05 04:09:50 +03:00
Andris Raugulis 407ddbd7ea Cosmetic whitespace fix. 2016-10-05 03:31:03 +03:00
Andris Raugulis aee949a717 Fix software representation. Add software tests. 2016-10-05 03:27:43 +03:00
Andris Raugulis 489a24c564 Fix banner protocol (1.99) recognition and clean banner comments. Add banner tests. 2016-10-05 03:25:54 +03:00
Andris Raugulis 5269b63e64 Weigh faults to recommend lesser evil. Colorize recommendations. 2016-10-04 11:14:03 +03:00
Andris Raugulis 5de7b913fd Recognize libssh (software, history, compatibility, security, etc). Closes #8. 2016-10-04 10:27:27 +03:00
Andris Raugulis 0c98bc1397 If software is not recognized, output recommendations based on compatibility. 2016-10-03 00:29:28 +03:00
Andris Raugulis f25e6caa2a Implement algorithm recommendations sections. 2016-09-28 17:03:38 +03:00
Andris Raugulis 29a0bb86fa Refactor algorithm pair/set reuse. 2016-09-28 17:01:37 +03:00
Andris Raugulis 1fda7b2a3e Support simple software output (without patch). 2016-09-28 16:58:58 +03:00
Andris Raugulis 6cb4c88f88 Add Travis CI. 2016-09-28 16:35:39 +03:00
Andris Raugulis 15d24cde08 Travis CI emblem. 2016-09-28 16:23:27 +03:00
Andris Raugulis 84549b74f2 Add Travis CI configuration. 2016-09-28 16:10:15 +03:00
Andris Raugulis 758d839d29 Merge branch 'master' into develop 2016-09-27 16:45:11 +03:00
Andris Raugulis 7d5f74810b Back to development version. 2016-09-20 12:36:14 +03:00
Andris Raugulis e9b9a457dd Release 1.5.0. 2016-09-20 12:26:14 +03:00
Andris Raugulis 4dcf1c91cd Bump version. 2016-09-17 20:37:48 +03:00
Andris Raugulis 3421c8e294 Output fingerprint (defaults to SHA256 format). 2016-09-17 20:37:03 +03:00
Andris Raugulis 684ea315ec Shorten variables. 2016-09-17 20:24:53 +03:00
Andris Raugulis a70b93862a Output SSH1 host-key algorithm. 2016-09-17 20:21:18 +03:00
Andris Raugulis b16ef4d040 Add fingerprint support. 2016-09-17 20:15:47 +03:00
Andris Raugulis 5bc31ea70c Implement SSH1 support (cipher, auth, compatibility, texts, etc) #6. 2016-09-17 20:15:21 +03:00
Andris Raugulis fce491767c Signed mpint. 2016-09-17 19:23:24 +03:00
Andris Raugulis ddc5ea22f5 Refactor algorithm functions. 2016-09-17 05:38:11 +03:00
Andris Raugulis adba0ea08a Refactor timeframe and compatibility functions. 2016-09-17 00:58:06 +03:00
Andris Raugulis 11ee9ecd05 Fix output compatibility for ssh client. 2016-09-17 00:35:33 +03:00
Andris Raugulis a861fe0c8a Since text could be empty or client-only. 2016-09-17 00:30:04 +03:00
Andris Raugulis f6a6fb98bc Recognize Allegro Software RomSShell. 2016-09-16 16:09:49 +03:00
Andris Raugulis cb19718568 Add SSH1 and SSH2 forcing options. By default, both are allowed. 2016-09-16 14:55:27 +03:00
Andris Raugulis 9030e71892 Initial SSH1 support (packet reading, SMSG_PUBLIC_KEY, CRC32, etc) #6. 2016-09-15 18:00:09 +03:00
Andris Raugulis d6980242ba Pyython 2.6 compatible bit length. 2016-09-15 15:55:27 +03:00
Andris Raugulis 285d7280eb Implement mpint1 read/write. Optimize mpint writing. Test mpint1. 2016-09-15 06:09:08 +03:00
Andris Raugulis 089d7d597c Implement mpint2 read/write and tests. Refactor (Read|Write)Buf. 2016-09-14 16:33:38 +03:00
Andris Raugulis bfa9e6f936 Do not hang when remote host closes connection fast. Fix security output. 2016-09-13 13:17:41 +03:00
Andris Raugulis e3559a76b8 Differentiate between server and client security issues. Ignore client-side. 2016-09-13 13:01:38 +03:00
Andris Raugulis 4479db966a Implement OpenSSH version comparison. 2016-09-13 12:38:05 +03:00
Andris Raugulis 74a1ca08ee Create tests for Dropbear SSH version comparison. 2016-09-12 19:23:27 +03:00