Commit graph

102 commits

Author SHA1 Message Date
Greg T. Wallace
86feabd939 v1.2.2 2025-04-22 18:27:55 -04:00
Greg T. Wallace
124c06d8be build: compile linux/arm64 in native runner 2025-04-22 18:27:55 -04:00
Greg T. Wallace
72f3f42baa build: add darwin arm64 & amd64 2025-04-22 18:27:54 -04:00
Greg T. Wallace
3bb6b2a3c1 dep: update all 2025-04-22 18:27:54 -04:00
Greg T. Wallace
1392529a3f dep: go 1.24.2 2025-04-22 18:27:54 -04:00
Greg T. Wallace
e87a3100d2 v1.2.1 2025-03-17 22:06:52 -04:00
Greg T. Wallace
c67001f0e4 dep: update all 2025-03-17 22:06:46 -04:00
Greg T. Wallace
ad8c4e88a9 dep: go 1.24.1 2025-03-17 22:05:29 -04:00
FingerlessGloves
096b50187a
Fix GetTime for GMT users ()
UPS failes to use the required `+` when in the GMT timezone. Account for that.

---------

Co-authored-by: Greg T. Wallace <greg@gregtwallace.com>
2025-03-17 22:01:37 -04:00
Greg T. Wallace
c5bb8edbec update screenshot 2025-01-28 21:04:06 -05:00
Greg T. Wallace
2e082a30cf v1.2.0 2025-01-27 19:54:04 -05:00
Greg T. Wallace
06b76700c4 dep: update all 2025-01-27 19:47:13 -05:00
Greg T. Wallace
7f377fc5da dep: build with ubuntu-24.04 2025-01-27 19:23:18 -05:00
Greg T. Wallace
eedbdfcc2a dep: go 1.23.5 2025-01-27 19:22:45 -05:00
Greg T. Wallace
47b964d6ee install: add time check and warning
Clock skew can cause problems with SSL and certificates. Check the UPS clock and log a warning for the user if the UPS clock is more than 1 hour different than the clock of the system this tool is running on

see: https://github.com/gregtwallace/apc-p15-tool/issues/11#issuecomment-2609010943
2025-01-27 19:11:06 -05:00
Greg T. Wallace
1cfd35c4e2 readme: escape asterisks 2024-09-17 18:50:06 -04:00
Greg T. Wallace
94a76b93de v1.1.0 2024-09-17 18:44:35 -04:00
Greg T. Wallace
1cd9916a17 install: add web ui cert verification
* connect to the ups web ui after install and verify the proper certificate is being served
* rename `apchost` flag to `hostname`
* separate ports to additional flags (`sshport` `sslport`) with sane defaults
2024-09-17 18:44:34 -04:00
Greg T. Wallace
c22447b0c2 readme: update info re: modern key support 2024-09-17 18:44:33 -04:00
Greg T. Wallace
cbb831e009 add ecdsa key support and enable 4,092 RSA
* apcssh: add descriptive error when required file(s) not passed
* create: dont create key+cert file when key isn't supported by NMC2
* config: fix usage messages re: key types
* p15 files: dont generate key+cert when it isn't needed (aka NMC2 doesn't support key)
* pkcs15: pre-calculate envelope when making the p15 struct
* pkcs15: omit key ID 8 & 9 from EC keys
* pkcs15: update key decode logic
* pkcs15: add key type value for easy determination of compatibility
* pkcs15: add ec key support
* pkcs15: separate functions for key and key+cert p15 files
* update README
see: https://github.com/gregtwallace/apc-p15-tool/issues/6
2024-09-17 18:44:33 -04:00
Greg T. Wallace
51e5847409 go: update to 1.23.1 2024-09-17 18:44:33 -04:00
Greg T. Wallace
e2b5abc624 readme: add beta notice 2024-07-09 19:16:59 -04:00
Greg T. Wallace
b8e9a23386 v1.0.0 2024-07-01 22:35:26 -04:00
Greg T. Wallace
9578fa26ce fix go build ver 1.22.4 2024-07-01 22:35:21 -04:00
Greg T. Wallace
371a2ecc30
README: update testing setup
Update firmware on my UPS,
2024-06-26 21:34:47 -04:00
Greg T. Wallace
6363282a75 v0.5.3 2024-06-24 18:24:35 -04:00
Greg T. Wallace
7c1ad8ef43 pkcs15: add some prep for maybe ec key support later 2024-06-24 18:23:05 -04:00
Greg T. Wallace
06f9892501 add rsa 3,072 bit support 2024-06-24 18:23:02 -04:00
Greg T. Wallace
b7026ff906 v0.5.2 2024-06-19 19:57:56 -04:00
Greg T. Wallace
703c26bd27 apcssh: add shell cmd timeout
It was possible for scanner.Scan() to block indefinitely if the UPS never returned the expected prompt regex pattern. This could occur with a UPS using a prompt format I'm not aware of, or if the UPS responds in a non-standard way.

This change ensures that Scan() is aborted after a fixed amount of blocking time and the shell cmd function accordingly returns an error.

Some error messages, comments, and var names are also updated for clarity.
2024-06-19 19:56:17 -04:00
Greg T. Wallace
841a459dca apcssh: minor log and logic clarity 2024-06-19 19:56:16 -04:00
Greg T. Wallace
f1dd079632 v0.5.1 2024-06-18 21:38:00 -04:00
Greg T. Wallace
04307eff17 readme: update general info about tool and compatibility 2024-06-18 21:30:43 -04:00
Greg T. Wallace
d3ad01da0c build: fix typo for windows install only file 2024-06-18 21:30:42 -04:00
Greg T. Wallace
b94e17e8f3 readme: update info regarding insecure ssh ciphers 2024-06-18 21:30:41 -04:00
Greg T. Wallace
208827f636 ssh: fix shell regex
* from ssh videos I found on youtube, the @ symbol might not be present in prompt, so make it optional
* fix typo of 0-0 instead of 0-9 (all numbers are possible in the prompt)
2024-06-18 21:30:40 -04:00
Greg T. Wallace
7bf70c4d71 ssh: switch string comps to EqualFold func 2024-06-18 21:30:39 -04:00
Greg T. Wallace
c669621bd3 install: add ssh connect log message 2024-06-18 21:30:38 -04:00
Greg T. Wallace
a47dd3fb68 go: update to 1.22.4 2024-06-06 22:52:54 -04:00
Greg T. Wallace
67503e6636 v0.5.0-preview2 2024-06-06 22:52:54 -04:00
Greg T. Wallace
579419ae31 cmd: remove cmd done log msgs
remove these unncessary log messages because it says done before any returned error (which could imply it didn't error)
2024-06-06 22:52:54 -04:00
Greg T. Wallace
12c613f3b4 apcssh: remove logging
For sanity and consistency, centralize logging in the app with the app's loggers.
2024-06-06 22:52:54 -04:00
Greg T. Wallace
ce9958e422 create: always produce both p15 files 2024-06-06 22:52:54 -04:00
Greg T. Wallace
dda11df624 install: add support for native ssl command
The code should auto-select the native ssl method if the ssl command is available on the UPS.

If this fails, install will drop back to the original install method used by this tool (which works on NMC2).
2024-06-06 22:52:54 -04:00
Greg T. Wallace
06c9263bc4 ssh: breakout ups ssh to its own package
This was done for clearer separation of function. A subsequent update will (hopefully) make the SSL command more robust so it works for both NMC2 and NMC3.

The method for sending shell commands was also updated to use an interactive shell instead. This allows capturing responses of the commands which will be needed to deduce if devices are NMC2 or NMC3.
2024-06-06 22:52:54 -04:00
Greg T. Wallace
41efc56c62 ssh: clarify log error msg 2024-06-06 22:52:54 -04:00
Greg T. Wallace
7a415f5c85 v0.5.0-preview1 2024-06-06 22:52:46 -04:00
Greg T. Wallace
7dcf0f10b9 create: fix header debug file 2024-06-04 19:00:56 -04:00
Greg T. Wallace
b44b49cd19 create: add additional flag to signal creation of additional key.p15 2024-06-04 18:59:36 -04:00
Greg T. Wallace
f0253ccaf2 create: set file permissiosns to owner only 2024-06-04 18:59:36 -04:00