Commit Graph

705 Commits

Author SHA1 Message Date
PhilippC
a5e7bbc081 New translations strings.xml (Danish) 2023-10-07 23:44:42 +02:00
Rick Brown
489ed8e2b4 Convert literals to constants, add javadoc to resolver class 2023-08-09 20:58:06 -04:00
Rick Brown
c9be806b01 Bump pcloud sdk to v1.8.1 (latest available in maven)
NOTE: pCloud auth does NOT currently work. The redirect_uri needs
      updating in the Kp2A pCloud app configuration.

See here for more info:
      https://github.com/pCloud/pcloud-sdk-java/issues/33
2023-07-25 17:12:17 -04:00
Rick Brown
0e9da69f47 Minor ssh debug logging changes
-Refactor the logger implementation to make creation more intuitive
-Remove SSH debug logging preference persistence (didn't work properly
 anyway, and probably not worth trying to fix)
2023-07-23 22:29:13 -04:00
Rick Brown
18ecfd5396 Integrate KEx/SHK functionality into JavaFileStorageTest-AS
-Re-organize SFTP Credentials dialog to be more space-efficient
-Add KEX and SHK algorithm spec fields (these get used to build the SFTP
 URI when connecting)
-Add CSV test fields/buttons for standalone testing of spec/config
 resolution
2023-07-23 22:29:13 -04:00
Rick Brown
83529dd3b5 Modify/specify KEX/SHK algorithms
-Implemented ability to manipulate server_host_key (SHK) via SFTP
 Credentials dialog (like KEX)
-Implemented a few basic wildcard/relative algorithm list manipulation
features:
   - Prepend to existing list: +alg_name
   - Append to end of existing list: alg_name+
   - Remove a specific value: -alg_name
   - Remove values matching prefix: -alg_prefix*
   - Remove values matching suffix: -*alg_suffix
   - Remove values matching substring: -*alg_substring*
   - Remove values matching prefix and suffix: -alg*name
   - Otherwise CSV of values completely replace original config values
2023-07-20 19:48:49 -04:00
Rick Brown
9204c4ca8f Add ssh config options to display URI 2023-07-19 22:11:34 -04:00
Rick Brown
46fdba1bfa SSH/SFTP: Allow kex algorithms to be explicitly set
-kex config overload, set via database connection settings
2023-07-19 19:38:00 -04:00
Rick Brown
006f5497e5 Merge branch 'bug-2366-ssh-debug-logging_master' into custom-sftp-private-key_patches 2023-07-19 17:12:53 -04:00
Rick Brown
464fe43323 Add JSch (SFTP) debug logging
-App Settings->Log-File for Debugging->SFTP debug logging
-Logs to android log (logcat) if log file is not enabled
-Logs to Kp2a log file if it is enabled
-Logs are tagged as "KP2AJFS[JSch]"
-When enabled, logs ALL levels (DEBUG+).

NOTE: Sensitive SSH connection information may be logged!!
2023-07-12 17:03:39 -04:00
Rick Brown
da5533ef3b Modified impl of bugfix #2350
URL encode/decode host parameter in SFTP URI

This version is slightly different than the original PR, given
this branch's changes to SftpStorage.buildFullPath().
2023-06-16 19:40:01 -04:00
Rick Brown
03ea073426 Bugfix for issue #2350 - SFTP fails to connect to IPv6 address
Since IPv6 addresses contain colons, they break the host:port URI
parsing logic, since "host" will have colons in it.

This fix adds URL encoding/decoding of the "host" parameter, thus
removing any possible colons in that parameter that could conflict
with the host:port separator.
2023-06-16 19:18:47 -04:00
Anthony Ryan
cde5d31845 Losslessly compress PNG images
By using Efficient-Compression-Tool we were able to save 804 KB of 9.8 MB (8.2%)
without changing the visual appearance.
2023-06-10 09:15:03 -04:00
PhilippC
5a406fe5df New translations strings.xml (German) 2023-05-31 14:05:45 +02:00
PhilippC
a9ad3725dc Merge pull request #2265 from PhilippC/l10n_master2
New Crowdin updates
2023-03-31 07:58:27 +02:00
PhilippC
8596edaa67 New translations strings.xml (Greek) 2023-03-22 10:59:35 +01:00
Philipp Crocoll
ec5f26e0cd reduce log output 2023-03-18 20:34:45 +01:00
Philipp Crocoll
6f10a04589 revert most of the added debug outputs 2023-03-16 20:25:57 +01:00
PhilippC
eedeeafd80 New translations strings.xml (Chinese Simplified) 2023-03-16 03:34:05 +01:00
Philipp Crocoll
e0c003fcb2 add debugging output 2023-03-14 20:19:08 +01:00
PhilippC
ac5f3c9ca5 Merge pull request #2244 from PhilippC/l10n_master2
New Crowdin updates
2023-03-04 09:08:30 +01:00
PhilippC
93e1cf1147 Merge pull request #2240 from hyproman/java-file-storage-android-studio
Get JavaFileStorage working in Android Studio
2023-03-04 09:01:19 +01:00
Rick Brown
5e265d1816 Backend:
-Generalize SFTP query param option map building
-Add "key" and "phrase" as SFTP query params
  key: custom private key name
  phrase: passphrase used to unlock key
-Add CRUD support for custom private keys
  Key files are stored in "user_keys" subdirectory
  File names are constructed by (sanitized) key name
  Basic support for private key content validation
-Existing and new key-related functionality moved into
  SftpPublicPrivateKeyUtils class

UI:
-Add custom private key support to SFTP Credentials dialog
  Add a new auth mode item (authModeSpinner)
  Add Spinner showing saved private key names, with an option
   to create a new one (top).
  Add Delete Private Key button; deletes the selected key
   in Spinner

Testing:
-Add custom private key CRUD support to JavaFileStorageTest app
 via file chooser SFTP Credentials panel
2023-02-19 20:26:39 -05:00
Rick Brown
83e77b2a31 Bugfix for #2223 - crash after import database by SFTP
Add FLAG_MUTABLE flag to PendingIntent call for API >= 31 to fix an
issue where trying to open an SFTP database (transition to choose a
remote database file) crashes and returns to the Open/New database
screen.
2023-02-19 19:52:05 -05:00
Rick Brown
893cf2b3c8 Get JavaFileStorage working in Android Studio
Resolve issue where AS would fail to import Android API jar
2023-02-19 19:52:05 -05:00
PhilippC
bd4e321b0e New translations strings.xml (German) 2023-02-18 06:48:57 +01:00
PhilippC
47aaedbfb5 New translations strings.xml (German) 2023-02-18 06:48:56 +01:00
Rick Brown
15b3b76b27 Squashed commit of not-yet-approved PR #2038
https://github.com/PhilippC/keepass2android/pull/2038
User-defined SFTP connection timeout

The addition of SFTP query parameter options are needed
to support custom private key functionality.

Squashed commits from hyproman:sftp-conn-timeout:

commit 9c6b96e8198f1b912acdc1248af775f8fed58e1c
commit ebe59d9bc337a46bf0646677eb38b13ddde21f14
commit 69eb0bfd1a7010a2e442c36d10a16d1710c958de
commit 9394947c12bedb8667b7b94d0b1457f9e0451e18
2023-02-15 19:08:14 -05:00
PhilippC
7557c0b9fd Merge pull request #2234 from hyproman/bugfix-2223-sftp-db-import-crash
Bugfix for #2223 - crash after import database by SFTP
2023-02-13 09:36:46 +01:00
Rick Brown
23d7efff53 Bugfix for #2223 - crash after import database by SFTP
Add FLAG_MUTABLE flag to PendingIntent call for API >= 31 to fix an
issue where trying to open an SFTP database (transition to choose a
remote database file) crashes and returns to the Open/New database
screen.
2023-02-12 13:28:45 -05:00
Rick Brown
632121f3ec Get JavaFileStorage working in Android Studio
Resolve issue where AS would fail to import Android API jar
2023-02-11 18:34:20 -05:00
Rick Brown
8c8a8e3968 Normalize gradle jvmargs to reuse a single GradleDaemon
Set max heap to 1.5G across all java projects. Inspection
via VisualVM found 1G to be a little too aggressive, while
2G seemed overkill. In any case a full build now can reuse
a single GradleDaemon instance instead of three.
2023-02-09 20:20:03 -05:00
PhilippC
f312b50f0c New translations strings.xml (Chinese Traditional) 2023-01-31 18:42:58 +01:00
Philipp Crocoll
c86f9b3a4f KP2ASoftkeyboard_AS/gradle/wrapper/gradle-wrapper.properties: back to gradle 7.6 (7.5 was an unintentional change) 2023-01-30 21:02:58 +01:00
Philipp Crocoll
1c517dceb8 Merge branch 'master' of https://github.com/PhilippC/keepass2android 2023-01-30 10:54:23 +01:00
Philipp Crocoll
bede68b60a update java projects to sourceCompatibility/targetCompatibility=11 and compileSdkVersion 33 2023-01-30 10:54:06 +01:00
PhilippC
8ab7fe84dd Merge pull request #2186 from PhilippC/l10n_master2
New Crowdin updates
2023-01-30 09:12:41 +01:00
tenzap
e42b4c9654 Java modules: update repository sources 2023-01-26 22:02:09 +01:00
tenzap
d6486d4b98 Java modules: Upgrade to AGP 7.4.0 & Gradle 7.6
Fix the issues that were reported because of that change:

WARNING:The specified Android SDK Build Tools version (28.0.3) is ignored, as it is below the minimum supported version (30.0.3) for Android Gradle Plugin 7.4.0.
Android SDK Build Tools 30.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '28.0.3'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.

android:exported needs to be explicitly specified for element <activity#com.crocoapps.javafilestoragetest2.MainActivity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.

Setting the namespace via a source AndroidManifest.xml's package attribute is deprecated.
Please instead set the namespace (or testNamespace) in the module's build.gradle file, as described here: https://developer.android.com/studio/build/configure-app-module#set-namespace
This migration can be done automatically using the AGP Upgrade Assistant, please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information.

.../keepass2android/src/java/KP2ASoftkeyboard_AS/app/src/main/AndroidManifest.xml:5:5-46 Warning:
	uses-sdk:targetSdkVersion value (14) specified in the manifest file is ignored. It is overridden by the value declared in the DSL or the variant API, or 1 if not declared/present. Current value is (18).
2023-01-26 22:02:02 +01:00
tenzap
dfbfeb3fa3 remove ndk version specified in KP2ASoftkeyboard_AS/app/build.gradle
Partially reverts 4b3f6657a8
2023-01-25 09:08:11 +01:00
Philipp Crocoll
4b3f6657a8 * update target-sdk version to 33. update some packages (build currently fails for flavor=Net, but works with NoNet)
* make changes to comply with new target sdk version requirements (mostly Exported-attribute and mutability flags)
* drop samsung fingerprint support (as suggested by Samsung), would require more hacks to keep it with the new target sdk version
* add build-properties.props to allow specifying a flavor in VS builds.
2023-01-23 10:07:15 +01:00
PhilippC
a4396af352 New translations strings.xml (Basque) 2023-01-16 19:03:40 +01:00
PhilippC
d7c403cf30 New translations strings.xml (Basque) 2023-01-16 16:10:16 +01:00
PhilippC
08e0b6e72d New translations strings.xml (Persian) 2023-01-05 08:51:01 +01:00
PhilippC
6e23b1ef22 New translations strings.xml (Japanese) 2023-01-05 08:50:50 +01:00
Sebastian Ratz
e3ce7fe95a Migrate from com.jcraft:jsch 0.1.55 to com.github.mwiede:jsch 0.2.5
com.jcraft:jsch is not actively maintained anymore and lacks support
for modern public key algorithms such as rsa-sha2-256. It only
supports ssh-rsa which is disabled in up-to-date environments.

com.github.mwiede:jsch was created as a drop-in replacement which
works in modern environments [1].

Sources are taken from maven central [2]. The following files were
omitted, because they depend on additional 3rd-party libraries which
we do not have / do not need:

    com/jcraft/jsch/JUnixSocketFactory.java
    com/jcraft/jsch/Log4j2Logger.java
    com/jcraft/jsch/PageantConnector.java
    com/jcraft/jsch/Slf4jLogger.java
    com/jcraft/jsch/SSHAgentConnector.java
    com/jcraft/jsch/bc/*
    com/jcraft/jsch/jgss/GSSContextKrb5.java

Fixes #1812.

[1] https://github.com/mwiede/jsch
[2] https://repo1.maven.org/maven2/com/github/mwiede/jsch/0.2.5/jsch-0.2.5-sources.jar
2023-01-03 15:26:42 +01:00
tenzap
39c1f671d4 remove untracked files as per .gitignore
Somes files that are in .gitignore are still in the repository
This will remove them.

Commands used to do this:

git rm --cached -r . &&
git add . &&
git restore --staged .gitmodul

The jars in src/java/JavaFileStorage/libs are no more used since commit
a63663c30e

If this removes too many files, it means that .gitignore has to be fixed.
To find which rule removes which file run:

git check-ignore -v <file>

Especially, removing .idea/ completely might not be correct depending on ones
objective.
2022-12-19 22:54:50 +01:00
PhilippC
6cd71b2bf5 Merge pull request #1904 from PhilippC/l10n_master2
New Crowdin updates
2022-12-19 08:40:03 +01:00
PhilippC
62f7592e1d New translations strings.xml (Dutch) 2022-12-18 22:13:41 +01:00
PhilippC
2f105d30fd New translations strings.xml (Japanese) 2022-12-12 16:37:03 +01:00