untangle-https-backup.git
3 months agosrc/untangle/untangle.py: use cleaner way of disabling verification. master
Michael Orlitzky [Sat, 21 Aug 2021 03:26:55 +0000 (23:26 -0400)]
src/untangle/untangle.py: use cleaner way of disabling verification.

In the past, the internal _create_unverified_context() method of the
ssl module was used to create a context that doesn't verify
certificates. However, (now?) there is a cleaner way: by setting the
context's "check_hostname" member to False and its "verify_mode"
member to ssl.CERT_NONE. Which is exactly what this commit does.

2 years agoAdd nominal support for Untangle version 14.1.
Michael Orlitzky [Wed, 13 Feb 2019 23:56:23 +0000 (18:56 -0500)]
Add nominal support for Untangle version 14.1.

Version 14.1 of Untangle is out, but there are no meaningful changes
with respect to the backup process. This commit just mentions the new
version in the docs, and allows specifying "14.1" (the new default) in
the configuration file.

3 years agosetup.py: update the version to 0.0.10. 0.0.10
Michael Orlitzky [Sat, 6 Oct 2018 20:47:47 +0000 (16:47 -0400)]
setup.py: update the version to 0.0.10.

3 years agosrc/untangle/untangle.py: add the missing ':' killed by commit 6f70c48.
Michael Orlitzky [Sat, 6 Oct 2018 20:46:36 +0000 (16:46 -0400)]
src/untangle/untangle.py: add the missing ':' killed by commit 6f70c48.

3 years agosetup.py: update the version to 0.0.9. 0.0.9
Michael Orlitzky [Fri, 5 Oct 2018 22:39:54 +0000 (18:39 -0400)]
setup.py: update the version to 0.0.9.

3 years agobin/untangle-https-backup: disable configuration file interpolation.
Michael Orlitzky [Fri, 5 Oct 2018 22:00:01 +0000 (18:00 -0400)]
bin/untangle-https-backup: disable configuration file interpolation.

It was bound to happen: somebody changed their password to something
with a percent sign in it, and it broke the secret ConfigParser
interpolation that I didn't know existed. Nobody is interpolating
usernames or version numbers into their password fields (if you are;
see you in hell), so passing interpolation=None to our ConfigParser
instantiation should fix the issue.

3 years agountangle.py: allow version "14" and make it the default.
Michael Orlitzky [Fri, 13 Jul 2018 19:56:46 +0000 (15:56 -0400)]
untangle.py: allow version "14" and make it the default.

3 years agodoc: allow version "14" in the man page.
Michael Orlitzky [Fri, 13 Jul 2018 19:55:50 +0000 (15:55 -0400)]
doc: allow version "14" in the man page.

3 years agosetup.py: update the version string to "0.0.8". 0.0.8
Michael Orlitzky [Wed, 18 Apr 2018 00:41:48 +0000 (20:41 -0400)]
setup.py: update the version string to "0.0.8".

3 years agodoc: document the new socket timeout option.
Michael Orlitzky [Wed, 18 Apr 2018 00:41:04 +0000 (20:41 -0400)]
doc: document the new socket timeout option.

3 years agobin/untangle-https-backup: expect and report socket timeouts.
Michael Orlitzky [Wed, 18 Apr 2018 00:38:31 +0000 (20:38 -0400)]
bin/untangle-https-backup: expect and report socket timeouts.

In the last commit, a configurable socket "timeout" was added. If that
timeout is reached, a socket.timeout exception will be thrown. This
commit catches those exceptions in the main executable, reports them
gracefully, and proceeds with the remaining backups.

3 years agountangle.py: use a configurable "timeout" for socket operations.
Michael Orlitzky [Wed, 18 Apr 2018 00:35:36 +0000 (20:35 -0400)]
untangle.py: use a configurable "timeout" for socket operations.

If an untangle host holds a connection open but sends no data, it can
hang the backup process because we'll simply wait forever on that one
host. To work around that problem, a new configurable "timeout" value
has been added and is used in all open() calls. When the timeout is
reached, a socket.timeout error is raised, terminating the backup
process for that host (and all others, at the moment).

4 years agosetup.py: update the version string to "0.0.7". 0.0.7
Michael Orlitzky [Mon, 23 Oct 2017 20:31:52 +0000 (16:31 -0400)]
setup.py: update the version string to "0.0.7".

4 years agountangle-https-backup.8: update the documentation to mention v13.1.
Michael Orlitzky [Mon, 23 Oct 2017 20:31:07 +0000 (16:31 -0400)]
untangle-https-backup.8: update the documentation to mention v13.1.

Now that we support versions 13 and 13.1, mention them in the man
page, and note that "13.1" is now the default version.

4 years agountangle.py: add support for v13.1 download URLs.
Michael Orlitzky [Mon, 23 Oct 2017 20:27:00 +0000 (16:27 -0400)]
untangle.py: add support for v13.1 download URLs.

In version 13.1 of Untangle, the backup download URL has changed. That
means we need to support a new, non-integer version number "13.1". This
commit changes the version parameter from an integer to a string, and
adds support for two new version strings: "13" and "13.1".

Since the download URL was unchanged in v13.0, the existing routines
are used for that version. However, a new get_backup_v13_1() function
was added for v13.1. The only difference between that function and the
get_backup_v10() function is the word "webui" which has been changed
to "admin".

Version "13.1" is now the default version if none is specified.

4 years agoBump to version 0.0.6 in setup.py. 0.0.6
Michael Orlitzky [Sun, 1 Jan 2017 22:45:17 +0000 (17:45 -0500)]
Bump to version 0.0.6 in setup.py.

4 years agoRemove a querystring parameter to fix v12.2 backups.
Michael Orlitzky [Sun, 1 Jan 2017 22:42:59 +0000 (17:42 -0500)]
Remove a querystring parameter to fix v12.2 backups.

In the v10 backup routine, we were passing "type=backup" as part of
the querystring in addition to POSTing it. This was causing a problem
with one v12.2 host, and that's why I'm just going to blame v12.2 for
the problem. It looks like the querystring parameter is not needed for
any of the other versions/hosts that I've tested against.

4 years agoBump the version to 0.0.5 in setup.py. 0.0.5
Michael Orlitzky [Sun, 1 Jan 2017 22:09:25 +0000 (17:09 -0500)]
Bump the version to 0.0.5 in setup.py.

4 years agoRearrange a comment.
Michael Orlitzky [Sun, 1 Jan 2017 22:08:57 +0000 (17:08 -0500)]
Rearrange a comment.

4 years agoCatch and report HTTPExceptions in addition to HTTPErrors.
Michael Orlitzky [Sun, 1 Jan 2017 22:06:51 +0000 (17:06 -0500)]
Catch and report HTTPExceptions in addition to HTTPErrors.

5 years agoUpdate the project homepage.
Michael Orlitzky [Tue, 8 Nov 2016 03:39:56 +0000 (22:39 -0500)]
Update the project homepage.

5 years agoBump to v0.0.4 in setup.py. 0.0.4
Michael Orlitzky [Fri, 13 May 2016 00:29:58 +0000 (20:29 -0400)]
Bump to v0.0.4 in setup.py.

5 years agoAdd support for Untangle v10 (the same as v11 and v12).
Michael Orlitzky [Thu, 12 May 2016 13:03:49 +0000 (09:03 -0400)]
Add support for Untangle v10 (the same as v11 and v12).

5 years agoFix the last commit by allowing v12 in the version sanity check.
Michael Orlitzky [Thu, 12 May 2016 12:54:37 +0000 (08:54 -0400)]
Fix the last commit by allowing v12 in the version sanity check.

5 years agoAdd nominal support for Untangle v12 (which is the same as v11).
Michael Orlitzky [Thu, 12 May 2016 12:53:13 +0000 (08:53 -0400)]
Add nominal support for Untangle v12 (which is the same as v11).

5 years agoBump to v0.0.3 in setup.py. 0.0.3
Michael Orlitzky [Sun, 3 Apr 2016 01:32:18 +0000 (21:32 -0400)]
Bump to v0.0.3 in setup.py.

5 years agoRemove the messed-up -h option from the synopsis in the man page.
Michael Orlitzky [Sun, 3 Apr 2016 01:18:55 +0000 (21:18 -0400)]
Remove the messed-up -h option from the synopsis in the man page.

5 years agoBump to v0.0.2 in setup.py. 0.0.2
Michael Orlitzky [Sun, 3 Apr 2016 01:01:28 +0000 (21:01 -0400)]
Bump to v0.0.2 in setup.py.

5 years agoRename the example config again.
Michael Orlitzky [Sun, 3 Apr 2016 01:01:15 +0000 (21:01 -0400)]
Rename the example config again.

5 years agoDocument the default username and rename the example config.
Michael Orlitzky [Sat, 2 Apr 2016 00:35:15 +0000 (20:35 -0400)]
Document the default username and rename the example config.

5 years agoWrite the man page. 0.0.1
Michael Orlitzky [Fri, 1 Apr 2016 22:35:03 +0000 (18:35 -0400)]
Write the man page.

5 years agoAdd some source documentation.
Michael Orlitzky [Fri, 1 Apr 2016 22:00:20 +0000 (18:00 -0400)]
Add some source documentation.

5 years agoReorganize the source code into a package.
Michael Orlitzky [Fri, 1 Apr 2016 21:38:25 +0000 (17:38 -0400)]
Reorganize the source code into a package.

5 years agoRename Manifest.in to MANIFEST.in.
Michael Orlitzky [Fri, 1 Apr 2016 21:37:24 +0000 (17:37 -0400)]
Rename Manifest.in to MANIFEST.in.

5 years agoRename the executable, and implement a bunch of missing stuff.
Michael Orlitzky [Fri, 1 Apr 2016 14:23:49 +0000 (10:23 -0400)]
Rename the executable, and implement a bunch of missing stuff.

This adds chmod of the backups, default options, SSL verification, and
cleans up some of the errors. It also supports command-line parsing
and a user-specified configuration file.

5 years agoInitial commit, skeleton of a project.
Michael Orlitzky [Fri, 1 Apr 2016 13:12:37 +0000 (09:12 -0400)]
Initial commit, skeleton of a project.