aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-java/src/main/java/com
Commit message (Collapse)AuthorAgeFilesLines
* Rename short tensor output CLI optionTor Brede Vekterli2022-12-052-9/+8
| | | | | `tensor-short-form` -> `shorttensors` to be in line with existing option formatting.
* Add tensor short form output option to vespa-getTor Brede Vekterli2022-12-054-4/+23
|
* Add tensor short form output option to vespa-visit toolTor Brede Vekterli2022-12-052-5/+30
| | | | | | Specified with `--tensor-short-form`. No single-char option alias, as short form output will be the default on Vespa 9 and we're running out of usable option characters for this tool anyway.
* Move vespa-status-filedistribution to where the other clients are and use a ↵Henning Baldersheim2022-12-021-0/+249
| | | | common jar file.
* Collapse the vespa_feed_perf into the other feed clients.Henning Baldersheim2022-11-292-0/+723
|
* No need to bring in container dependencies in the feeder client.Henning Baldersheim2022-11-283-40/+5
|
* Support interactive private key entry when not using stdio redirectionTor Brede Vekterli2022-11-187-11/+61
| | | | | | Avoids having to use a file indirection for inputting a private key. Only available when the JVM is running under an interactive console and none of the input/output files use standard streams.
* Support auto-resolving private key files based on token key IDTor Brede Vekterli2022-11-175-17/+109
| | | | | | | | Lets a user specify a private key directory either with a command line argument or via an environment variable. If a directory is provided, the private key to use will be attempted auto-resolved based on the key ID stored in the token. This only applies if the key ID is comprised of exclusively path-safe characters.
* Use BouncyCastle AES GCM cipher and I/O streams instead of JCATor Brede Vekterli2022-11-161-5/+5
| | | | | | | | | | | | | | | | | | This resolves two issues: * `javax.crypto.OutputCipherStream` swallows MAC tag mismatch exceptions when the stream is closed, which means that corruptions (intentional or not) are not caught. This is documented behavior, but still very surprising and a rather questionable default. BC's interchangeable `CipherOutputStream` throws as expected. To avoid regressions, add an explicit test that both ciphertext and MAC tag corruptions are propagated. * The default-provided `AES/GCM/NoPadding` `Cipher` instance will not emit decrypted plaintext per `update()` chunk, but buffer everything until `doFinal()` is invoked when the stream is closed. This means that decrypting very large ciphertexts can blow up memory usage since internal output buffers are reallocated and increased per iteration...! Instead use an explicit BC `GCMBlockCipher` which has the expected behavior (and actually lets cipher streams, well, _stream_). Add an `AeadCipher` abstraction to avoid leaking BC APIs outside the security module.
* Add support for token resealingTor Brede Vekterli2022-11-115-24/+146
| | | | | | | | | Adds underlying support--and tooling--for resealing a token for another recipient. This allows for delegating decryption to another party without having to reveal the private key of the original recipient (or having to send the raw underlying secret key over a potentially insecure channel). Key ID can/should change as part of this operation.
* Use Base62 for tokens and Base58 for keysTor Brede Vekterli2022-11-093-12/+7
| | | | | | | | * Base62 minimizes extra size overhead relative to Base64. * Base58 removes ambiguous characters from key encodings. Common for both bases is that they do not emit any characters that interfer with easily selecting them on web pages or in the CLI.
* Add a simple base conversion toolTor Brede Vekterli2022-11-082-1/+101
| | | | | | | | Currently supports converting from and to any combination of base {16, 58, 62, 64}. Input is read from STDIN and is intentionally limited in length due to the algorithmic complexity of base conversions that are not a power of two. Converted value is written to STDOUT.
* Encapsulate key identifier in own objectTor Brede Vekterli2022-11-023-4/+6
| | | | Enforces invariants and avoids having to pass raw byte arrays around.
* Add simple token info dumping toolTor Brede Vekterli2022-11-013-3/+67
| | | | Dumps key version, ID and HPKE components
* Let token key IDs be UTF-8 byte strings instead of just an integerTor Brede Vekterli2022-11-012-6/+14
| | | | | | | | | | | | | | This makes key IDs vastly more expressive. Max size is 255 bytes, and UTF-8 form is enforced by checking that the byte sequence can be identity-transformed to and from a string with UTF-8 encoding. In addition, we now protect the integrity of the key ID by supplying it as the AAD parameter to the key sealing and opening operations. Reduce v1 token max length of `enc` part to 255, since this is always an X25519 public key, which is never bigger than 32 bytes (but may be _less_ if the random `BigInteger` is small enough, so we still have to encode the length).
* Don't use legacy file existence checking APITor Brede Vekterli2022-11-011-1/+1
|
* Support standard IO streams for several encryption tool commandsTor Brede Vekterli2022-10-316-32/+63
| | | | | | | | | | | | Useful for avoiding the need for intermediate files, such as when piping the output of decryption to a Zstd decompressor. Adds stdio support to: * Encryption input * Decryption input * Decryption output Specified by substituting the file name with a single `-` character.
* Add basic tooling for public key encryption and decryptionTor Brede Vekterli2022-10-2710-0/+601
| | | | | | | Adds support for: * X25519 key pair generation * HPKE stream encryption with public key and token generation * HPKE stream decryption with private key
* Return X-Vespa-Ignored-Fields if fields were ignoredJon Bratseth2022-10-061-1/+2
|
* Add method to use Duration as timeout to make unit explicit, and avoid many ↵Henning Baldersheim2022-08-121-1/+2
| | | | magic conversions.
* Bump full removal of priorities to Vespa 9Tor Brede Vekterli2022-06-081-2/+2
| | | | | Streaming search still uses this to ensure low latencies, and we don't have a replacement for priorities for this use case yet.
* Use DocumentOnly-fieldset by defaultTor Brede Vekterli2022-06-081-1/+1
| | | | Also remove deprecated and unsupported header-only visitor parameter
* use [document] not [all]Arne H Juul2022-06-082-5/+6
|
* Remove top-level <clients> element and LoadType conceptTor Brede Vekterli2022-06-085-61/+5
| | | | | | | Load types have not been properly supported for some time, so remove the remaining API surfaces exposing them. Since load type config was the last remaining use of <clients> in services.xml, remove that one as well.
* Deprecate load types from Java APIsTor Brede Vekterli2022-04-056-9/+21
| | | | | | | | | | | Load types have not been used in practice for years, and supporting them in backend metrics etc. has long since been lacking. Prepare for removing these on Vespa 8. Most callsites are unchanged, aside from presumed safe changes such as constructors used by dependency injection. Have added new overloads without load types where these did not already exist to allow for an orderly transition.
* Deprecate DocumentAPI methods using explicit operation priorityTor Brede Vekterli2022-04-011-1/+2
| | | | | This is functionality that made more sense when we had spinning drives and no async write scheduling in the backend. Going away on Vespa 8.
* add special DocumentOnly fieldset in Java as wellArne H Juul2022-02-151-2/+5
| | | | | | * should have same behavior in Java and C++ * extend unit tests to verify * note various places where we want to change the default on Vespa 8 branch
* Remove undocumented parameter for deprecated featureTor Brede Vekterli2022-01-311-3/+0
|
* Update 2017 copyright notices.gjoranv2021-10-0725-25/+25
|
* turn up the logging levelArne Juul2021-04-212-1/+8
| | | | | | | * these tools are also in the category where users will consider any INFO level message noise. Since they don't use the vespa LogSetup, just increase the threshold programmatically.
* Fix linksJon Bratseth2021-02-152-2/+2
|
* Revert "Revert "Jonmv/remove storage policy""Jon Marius Venstad2021-01-052-2/+2
| | | | This reverts commit 75b2e4c11ea6463c335f1c77dab3fdb5493e5600.
* Revert "Jonmv/remove storage policy"Jon Marius Venstad2021-01-052-2/+2
|
* Use clustername-direct routes for visitorsJon Marius Venstad2021-01-042-2/+2
|
* Use just content cluster name as routeJon Marius Venstad2020-12-302-2/+2
|
* Replace use of [Storage... with [Content... and avoid overriding config idJon Marius Venstad2020-12-302-2/+2
|
* Merge pull request #13985 from vespa-engine/balder/minor-fieldset-cleanupJon Bratseth2020-08-052-5/+8
|\ | | | | Balder/minor fieldset cleanup
| * Use named constants instead of strings sprinkled all over.Henning Baldersheim2020-08-042-5/+8
| |
* | Name the transport threads to understand how things are interconnected.Henning Baldersheim2020-08-041-1/+1
|/
* SpareCapacityMaintainer sketchJon Bratseth2020-06-121-19/+14
|
* LogLevel.INFO -> Level.INFOgjoranv2020-04-251-1/+1
|
* LogLevel.DEBUG -> Level.FINEgjoranv2020-04-251-1/+1
|
* Import java.util.logging.Level instead of com.yahoo.log.LogLevelgjoranv2020-04-252-2/+2
|
* Improve error messagesJon Bratseth2020-04-131-10/+8
|
* Since resolving instances are error phrone we need to do it once.Henning Baldersheim2020-03-081-5/+21
|
* Temporary quota checkingJon Bratseth2020-01-171-1/+1
|
* Non-functional changesJon Bratseth2020-01-062-1/+4
|
* Less unusable options.Henning Baldersheim2019-09-301-5/+1
|
* Remove visitor ordering and order selection.Henning Baldersheim2019-08-091-11/+0
|
* Reapply what got lost during merge.Henning Baldersheim2019-04-291-4/+0
|