Deployed 74b94268335a to 0.x with MkDocs 1.6.1 and mike 2.1.3
Marco Ricci

Marco Ricci commited on 2025-08-03 22:02:08
Zeige 6 geänderte Dateien mit 181 Einfügungen und 41 Löschungen.

... ...
@@ -179,3 +179,27 @@ code.doc-symbol-module::after {
179 179
   color: inherit;
180 180
   border-bottom: 1px dotted currentcolor;
181 181
 }
182
+
183
+/* Source code blocks (admonitions). */
184
+:root {
185
+  --md-admonition-icon--mkdocstrings-source: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.22 4.97a.75.75 0 0 1 1.06 0l6.5 6.5a.75.75 0 0 1 0 1.06l-6.5 6.5a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L21.19 12l-5.97-5.97a.75.75 0 0 1 0-1.06m-6.44 0a.75.75 0 0 1 0 1.06L2.81 12l5.97 5.97a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215l-6.5-6.5a.75.75 0 0 1 0-1.06l6.5-6.5a.75.75 0 0 1 1.06 0"/></svg>')
186
+}
187
+.md-typeset .admonition.mkdocstrings-source,
188
+.md-typeset details.mkdocstrings-source {
189
+  border: none;
190
+  padding: 0;
191
+}
192
+.md-typeset .admonition.mkdocstrings-source:focus-within,
193
+.md-typeset details.mkdocstrings-source:focus-within {
194
+  box-shadow: none;
195
+}
196
+.md-typeset .mkdocstrings-source > .admonition-title,
197
+.md-typeset .mkdocstrings-source > summary {
198
+  background-color: inherit;
199
+}
200
+.md-typeset .mkdocstrings-source > .admonition-title::before,
201
+.md-typeset .mkdocstrings-source > summary::before {
202
+  background-color: var(--md-default-fg-color);
203
+  -webkit-mask-image: var(--md-admonition-icon--mkdocstrings-source);
204
+          mask-image: var(--md-admonition-icon--mkdocstrings-source);
205
+}
... ...
@@ -2851,7 +2851,7 @@
2851 2851
 
2852 2852
     <div class="doc doc-contents ">
2853 2853
 
2854
-        <p>A [<code>TypeVar</code>][] for classes implementing the [<code>Buffer</code>][] interface.</p>
2854
+        <p>A <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar"><code>TypeVar</code></a> for classes implementing the <a class="autorefs autorefs-external" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Buffer"><code>Buffer</code></a> interface.</p>
2855 2855
 
2856 2856
 
2857 2857
 <details class="warning" open>
... ...
@@ -4181,7 +4187,13 @@ the JSON value that was cleaned up.</p>
4181 4187
             <td>
4182 4188
               <div class="doc-md-description">
4183 4189
                 <p>List identities.  Expecting
4184
-[<code>SSH_AGENT.IDENTITIES_ANSWER</code>][].</p>
4190
+<a class="autorefs autorefs-internal" title="            IDENTITIES_ANSWER
4191
+
4192
+
4193
+  
4194
+      class-attribute
4195
+      instance-attribute
4196
+  " href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER"><code>SSH_AGENT.IDENTITIES_ANSWER</code></a>.</p>
4185 4197
               </div>
4186 4198
             </td>
4187 4199
           </tr>
... ...
@@ -4198,7 +4210,13 @@ the JSON value that was cleaned up.</p>
4198 4210
             </td>
4199 4211
             <td>
4200 4212
               <div class="doc-md-description">
4201
-                <p>Sign data.  Expecting [<code>SSH_AGENT.SIGN_RESPONSE</code>][].</p>
4213
+                <p>Sign data.  Expecting <a class="autorefs autorefs-internal" title="            SIGN_RESPONSE
4214
+
4215
+
4216
+  
4217
+      class-attribute
4218
+      instance-attribute
4219
+  " href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE"><code>SSH_AGENT.SIGN_RESPONSE</code></a>.</p>
4202 4220
               </div>
4203 4221
             </td>
4204 4222
           </tr>
... ...
@@ -4267,9 +4285,27 @@ the JSON value that was cleaned up.</p>
4267 4285
             <td>
4268 4286
               <div class="doc-md-description">
4269 4287
                 <p>Issue a named request that isn&rsquo;t part of the core agent
4270
-protocol.  Expecting [<code>SSH_AGENT.EXTENSION_RESPONSE</code>][] or
4271
-[<code>SSH_AGENT.EXTENSION_FAILURE</code>][] if the named request is
4272
-supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p>
4288
+protocol.  Expecting <a class="autorefs autorefs-internal" title="            EXTENSION_RESPONSE
4289
+
4290
+
4291
+  
4292
+      class-attribute
4293
+      instance-attribute
4294
+  " href="#derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE"><code>SSH_AGENT.EXTENSION_RESPONSE</code></a> or
4295
+<a class="autorefs autorefs-internal" title="            EXTENSION_FAILURE
4296
+
4297
+
4298
+  
4299
+      class-attribute
4300
+      instance-attribute
4301
+  " href="#derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE"><code>SSH_AGENT.EXTENSION_FAILURE</code></a> if the named request is
4302
+supported, <a class="autorefs autorefs-internal" title="            FAILURE
4303
+
4304
+
4305
+  
4306
+      class-attribute
4307
+      instance-attribute
4308
+  " href="#derivepassphrase._types.SSH_AGENT.FAILURE"><code>SSH_AGENT.FAILURE</code></a> otherwise.</p>
4273 4309
               </div>
4274 4310
             </td>
4275 4311
           </tr>
... ...
@@ -4529,7 +4566,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p>
4529 4566
             </td>
4530 4567
             <td>
4531 4568
               <div class="doc-md-description">
4532
-                <p>Successful answer to [<code>SSH_AGENTC.REQUEST_IDENTITIES</code>][].</p>
4569
+                <p>Successful answer to <a class="autorefs autorefs-internal" title="            REQUEST_IDENTITIES
4570
+
4571
+
4572
+  
4573
+      class-attribute
4574
+      instance-attribute
4575
+  " href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES"><code>SSH_AGENTC.REQUEST_IDENTITIES</code></a>.</p>
4533 4576
               </div>
4534 4577
             </td>
4535 4578
           </tr>
... ...
@@ -4546,7 +4589,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p>
4546 4589
             </td>
4547 4590
             <td>
4548 4591
               <div class="doc-md-description">
4549
-                <p>Successful answer to [<code>SSH_AGENTC.SIGN_REQUEST</code>][].</p>
4592
+                <p>Successful answer to <a class="autorefs autorefs-internal" title="            SIGN_REQUEST
4593
+
4594
+
4595
+  
4596
+      class-attribute
4597
+      instance-attribute
4598
+  " href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST"><code>SSH_AGENTC.SIGN_REQUEST</code></a>.</p>
4550 4599
               </div>
4551 4600
             </td>
4552 4601
           </tr>
... ...
@@ -4563,7 +4612,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p>
4563 4612
             </td>
4564 4613
             <td>
4565 4614
               <div class="doc-md-description">
4566
-                <p>Unsuccessful answer to [<code>SSH_AGENTC.EXTENSION</code>][].</p>
4615
+                <p>Unsuccessful answer to <a class="autorefs autorefs-internal" title="            EXTENSION
4616
+
4617
+
4618
+  
4619
+      class-attribute
4620
+      instance-attribute
4621
+  " href="#derivepassphrase._types.SSH_AGENTC.EXTENSION"><code>SSH_AGENTC.EXTENSION</code></a>.</p>
4567 4622
               </div>
4568 4623
             </td>
4569 4624
           </tr>
... ...
@@ -4580,7 +4635,13 @@ supported, [<code>SSH_AGENT.FAILURE</code>][] otherwise.</p>
4580 4635
             </td>
4581 4636
             <td>
4582 4637
               <div class="doc-md-description">
4583
-                <p>Successful answer to [<code>SSH_AGENTC.EXTENSION</code>][].</p>
4638
+                <p>Successful answer to <a class="autorefs autorefs-internal" title="            EXTENSION
4639
+
4640
+
4641
+  
4642
+      class-attribute
4643
+      instance-attribute
4644
+  " href="#derivepassphrase._types.SSH_AGENTC.EXTENSION"><code>SSH_AGENTC.EXTENSION</code></a>.</p>
4584 4645
               </div>
4585 4646
             </td>
4586 4647
           </tr>
... ...
@@ -6319,7 +6388,7 @@ check for <a class="autorefs autorefs-external" href="https://docs.python.org/3/
6319 6388
 <p>Needed for compatibility with vault(1), which sometimes uses only
6320 6389
 truthiness checks.</p>
6321 6390
 <p>If vault(1) considered <code>obj</code> to be valid, then after clean up,
6322
-<code>obj</code> will be valid as per [<code>validate_vault_config</code>][].</p>
6391
+<code>obj</code> will be valid as per <a class="autorefs autorefs-internal" title="            validate_vault_config" href="#derivepassphrase._types.validate_vault_config"><code>validate_vault_config</code></a>.</p>
6323 6392
 
6324 6393
 
6325 6394
 <p><span class="doc-section-title">Parameters:</span></p>
... ...
@@ -2375,7 +2377,7 @@
2375 2377
             <td>
2376 2378
               <div class="doc-md-description">
2377 2379
                 <p>The path to the vault configuration file or directory.
2378
-If not given, then query [<code>get_vault_path</code>][] for the
2380
+If not given, then query <a class="autorefs autorefs-internal" title="            get_vault_path" href="#derivepassphrase.exporter.get_vault_path"><code>get_vault_path</code></a> for the
2379 2381
 correct value.</p>
2380 2382
               </div>
2381 2383
             </td>
... ...
@@ -2395,7 +2397,7 @@ correct value.</p>
2395 2397
                 <p>Encryption key/password for the configuration file or
2396 2398
 directory, usually the username, or passed via the
2397 2399
 <code>VAULT_KEY</code> environment variable.  If not given, then
2398
-query [<code>get_vault_key</code>][] for the value.</p>
2400
+query <a class="autorefs autorefs-internal" title="            get_vault_key" href="#derivepassphrase.exporter.get_vault_key"><code>get_vault_key</code></a> for the value.</p>
2399 2401
               </div>
2400 2402
             </td>
2401 2403
             <td>
... ...
@@ -2770,7 +2772,7 @@ manually to the correct value.</p>
2770 2772
     <div class="doc doc-contents ">
2771 2773
 
2772 2774
         <p>Export the full vault-native configuration stored in <code>path</code>.</p>
2773
-<p>See [<code>ExportVaultConfigDataFunction</code>][] for an explanation of the
2775
+<p>See <a class="autorefs autorefs-internal" title="            ExportVaultConfigDataFunction" href="#derivepassphrase.exporter.ExportVaultConfigDataFunction"><code>ExportVaultConfigDataFunction</code></a> for an explanation of the
2774 2776
 call signature, and the exceptions to expect.</p>
2775 2777
 
2776 2778
 
... ...
@@ -2806,7 +2808,7 @@ slots) and provides an impure quasi-filesystem interface.  Each hash
2806 2808
 table entry is separately encrypted and authenticated.  James Coglan
2807 2809
 designed this format to avoid concurrent write issues when updating or
2808 2810
 synchronizing the vault configuration with e.g. a cloud service.</p>
2809
-<p>The public interface is the [<code>export_storeroom_data</code>][] function.
2811
+<p>The public interface is the <a class="autorefs autorefs-internal" title="            export_storeroom_data" href="#derivepassphrase.exporter.storeroom.export_storeroom_data"><code>export_storeroom_data</code></a> function.
2810 2812
 Multiple <em>non-public</em> functions are additionally documented here for
2811 2813
 didactical and educational reasons, but they are not part of the module
2812 2814
 API, are subject to change without notice (including removal), and
... ...
@@ -2849,7 +2851,7 @@ should <em>not</em> be used or relied on.</p>
2849 2851
     <div class="doc doc-contents ">
2850 2852
 
2851 2853
         <p>Export the full configuration stored in the storeroom.</p>
2852
-<p>See [<code>exporter.ExportVaultConfigDataFunction</code>][] for an explanation
2854
+<p>See <a class="autorefs autorefs-internal" title="            ExportVaultConfigDataFunction" href="#derivepassphrase.exporter.ExportVaultConfigDataFunction"><code>exporter.ExportVaultConfigDataFunction</code></a> for an explanation
2853 2855
 of the call signature, and the exceptions to expect.</p>
2854 2856
 
2855 2857
 
... ...
@@ -3061,7 +3063,7 @@ blocksize, in this case, the PKCS7 padding always is <code>b'\x10' * 16</code>.<
3061 3063
               <div class="doc-md-description">
3062 3064
                 <p>The encryption and signing keys for the master keys data.
3063 3065
 These should have previously been derived via the
3064
-[<code>_derive_master_keys_keys</code>][] function.</p>
3066
+<a class="autorefs autorefs-internal" title="            _derive_master_keys_keys" href="#derivepassphrase.exporter.storeroom._derive_master_keys_keys"><code>_derive_master_keys_keys</code></a> function.</p>
3065 3067
               </div>
3066 3068
             </td>
3067 3069
             <td>
... ...
@@ -3212,7 +3214,7 @@ blocksize, in this case, the PKCS7 padding always is <code>b'\x10' * 16</code>.<
3212 3214
             <td>
3213 3215
               <div class="doc-md-description">
3214 3216
                 <p>The master keys.  Presumably these have previously been
3215
-obtained via the [<code>_decrypt_master_keys_data</code>][] function.</p>
3217
+obtained via the <a class="autorefs autorefs-internal" title="            _decrypt_master_keys_data" href="#derivepassphrase.exporter.storeroom._decrypt_master_keys_data"><code>_decrypt_master_keys_data</code></a> function.</p>
3216 3218
               </div>
3217 3219
             </td>
3218 3220
             <td>
... ...
@@ -3359,7 +3361,7 @@ MAC can be verified before attempting to decrypt the payload.</p>
3359 3361
             <td>
3360 3362
               <div class="doc-md-description">
3361 3363
                 <p>The bucket item&rsquo;s session keys.  Presumably these have
3362
-previously been obtained via the [<code>_decrypt_session_keys</code>][]
3364
+previously been obtained via the <a class="autorefs autorefs-internal" title="            _decrypt_session_keys" href="#derivepassphrase.exporter.storeroom._decrypt_session_keys"><code>_decrypt_session_keys</code></a>
3363 3365
 function.</p>
3364 3366
               </div>
3365 3367
             </td>
... ...
@@ -3496,7 +3498,7 @@ removal.</p>
3496 3498
             <td>
3497 3499
               <div class="doc-md-description">
3498 3500
                 <p>The master keys.  Presumably these have previously been
3499
-obtained via the [<code>_decrypt_master_keys_data</code>][] function.</p>
3501
+obtained via the <a class="autorefs autorefs-internal" title="            _decrypt_master_keys_data" href="#derivepassphrase.exporter.storeroom._decrypt_master_keys_data"><code>_decrypt_master_keys_data</code></a> function.</p>
3500 3502
               </div>
3501 3503
             </td>
3502 3504
             <td>
... ...
@@ -3635,7 +3637,7 @@ removal.</p>
3635 3637
             <td>
3636 3638
               <div class="doc-md-description">
3637 3639
                 <p>The master keys.  Presumably these have previously been
3638
-obtained via the [<code>_decrypt_master_keys_data</code>][] function.</p>
3640
+obtained via the <a class="autorefs autorefs-internal" title="            _decrypt_master_keys_data" href="#derivepassphrase.exporter.storeroom._decrypt_master_keys_data"><code>_decrypt_master_keys_data</code></a> function.</p>
3639 3641
               </div>
3640 3642
             </td>
3641 3643
             <td>
... ...
@@ -3762,7 +3764,7 @@ structures, so they are <em>not</em> compatible.  v0.2 additionally contains
3762 3764
 cryptographic weaknesses (API misuse of a key derivation function, and
3763 3765
 a low-entropy method of generating initialization vectors for CBC block
3764 3766
 encryption mode) and should thus be avoided if possible.</p>
3765
-<p>The public interface is the [<code>export_vault_native_data</code>][] function.
3767
+<p>The public interface is the <a class="autorefs autorefs-internal" title="            export_vault_native_data" href="#derivepassphrase.exporter.vault_native.export_vault_native_data"><code>export_vault_native_data</code></a> function.
3766 3768
 Multiple <em>non-public</em> classes are additionally documented here for
3767 3769
 didactical and educational reasons, but they are not part of the module
3768 3770
 API, are subject to change without notice (including removal), and
... ...
@@ -3852,7 +3855,7 @@ here.</p>
3852 3855
               <div class="doc-md-description">
3853 3856
                 <p>The vault master key/master passphrase the file is
3854 3857
 encrypted with.  Must be non-empty.  See
3855
-[<code>exporter.get_vault_key</code>][] for details.</p>
3858
+<a class="autorefs autorefs-internal" title="            get_vault_key" href="#derivepassphrase.exporter.get_vault_key"><code>exporter.get_vault_key</code></a> for details.</p>
3856 3859
 <p>If this is a text string, then the UTF-8 encoding of the
3857 3860
 string is used as the binary password.</p>
3858 3861
               </div>
... ...
@@ -3989,7 +3992,13 @@ unexpected extra contents, or invalid padding.)</p>
3989 3992
     <div class="doc doc-contents ">
3990 3993
 
3991 3994
         <p>Generate a key from a password.</p>
3992
-<p>Uses PBKDF2 with HMAC-SHA1, with [vault.Vault.UUID][] as a fixed
3995
+<p>Uses PBKDF2 with HMAC-SHA1, with <a class="autorefs autorefs-internal" title="            UUID
3996
+
3997
+
3998
+  
3999
+      class-attribute
4000
+      instance-attribute
4001
+  " href="../derivepassphrase.vault/#derivepassphrase.vault.Vault.UUID">vault.Vault.UUID</a> as a fixed
3993 4002
 salt value.</p>
3994 4003
 
3995 4004
 
... ...
@@ -4156,7 +4165,12 @@ parser.</p>
4156 4165
 
4157 4166
         <p>Derive the signing and encryption keys.</p>
4158 4167
 <p>This is a bookkeeping method.  The actual work is done in
4159
-[<code>_generate_keys</code>][].</p>
4168
+<a class="autorefs autorefs-internal" title="            _generate_keys
4169
+
4170
+
4171
+  
4172
+      abstractmethod
4173
+  " href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._generate_keys"><code>_generate_keys</code></a>.</p>
4160 4174
 
4161 4175
 
4162 4176
     </div>
... ...
@@ -4320,8 +4334,8 @@ version-specific.  The default implementation raises an error.</p>
4320 4334
     <div class="doc doc-contents ">
4321 4335
 
4322 4336
         <p>Return the decrypted vault configuration.</p>
4323
-<p>Requires [<code>_parse_contents</code>][] and [<code>_derive_keys</code>][] to have
4324
-run, and relies on [<code>_check_signature</code>][] for tampering
4337
+<p>Requires <a class="autorefs autorefs-internal" title="            _parse_contents" href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._parse_contents"><code>_parse_contents</code></a> and <a class="autorefs autorefs-internal" title="            _derive_keys" href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._derive_keys"><code>_derive_keys</code></a> to have
4338
+run, and relies on <a class="autorefs autorefs-internal" title="            _check_signature" href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._check_signature"><code>_check_signature</code></a> for tampering
4325 4339
 detection.</p>
4326 4340
 
4327 4341
 
... ...
@@ -4474,14 +4489,25 @@ strength is half of this value.)</p>
4474 4489
 
4475 4490
         <p>Derive the signing and encryption keys, and set the key sizes.</p>
4476 4491
 <p>Version 0.3 vault configurations use a constant key size; see
4477
-[<code>KEY_SIZE</code>][].  The encryption and signing keys differ in how
4492
+<a class="autorefs autorefs-internal" title="            KEY_SIZE
4493
+
4494
+
4495
+  
4496
+      class-attribute
4497
+      instance-attribute
4498
+  " href="#derivepassphrase.exporter.vault_native.VaultNativeV03ConfigParser.KEY_SIZE"><code>KEY_SIZE</code></a>.  The encryption and signing keys differ in how
4478 4499
 many rounds of PBKDF2 they use (100 and 200, respectively).</p>
4479 4500
 
4480 4501
 
4481 4502
 <details class="danger" open>
4482 4503
   <summary>Insecure use of cryptography</summary>
4483 4504
   <p>This function makes use of the insecure function
4484
-[<code>VaultNativeConfigParser._pbkdf2</code>][], without any attempts
4505
+<a class="autorefs autorefs-internal" title="            _pbkdf2
4506
+
4507
+
4508
+  
4509
+      staticmethod
4510
+  " href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._pbkdf2"><code>VaultNativeConfigParser._pbkdf2</code></a>, without any attempts
4485 4511
 at mitigating its insecurity.  It further uses <code>_pbkdf2</code>
4486 4512
 with the low iteration count of 100 and 200 rounds, which is
4487 4513
 <em>drastically</em> insufficient to defend against password
... ...
@@ -4676,7 +4703,12 @@ iteration count.</p>
4676 4703
 <details class="danger" open>
4677 4704
   <summary>Insecure use of cryptography</summary>
4678 4705
   <p>This function makes use of the insecure function
4679
-[<code>VaultNativeConfigParser._pbkdf2</code>][], without any attempts
4706
+<a class="autorefs autorefs-internal" title="            _pbkdf2
4707
+
4708
+
4709
+  
4710
+      staticmethod
4711
+  " href="#derivepassphrase.exporter.vault_native.VaultNativeConfigParser._pbkdf2"><code>VaultNativeConfigParser._pbkdf2</code></a>, without any attempts
4680 4712
 at mitigating its insecurity.  It further uses <code>_pbkdf2</code>
4681 4713
 with the low iteration count of 16 rounds, which is
4682 4714
 <em>drastically</em> insufficient to defend against password
... ...
@@ -4873,7 +4905,7 @@ determined attackers!</p>
4873 4905
     <div class="doc doc-contents ">
4874 4906
 
4875 4907
         <p>Export the full configuration stored in vault native format.</p>
4876
-<p>See [<code>exporter.ExportVaultConfigDataFunction</code>][] for an explanation
4908
+<p>See <a class="autorefs autorefs-internal" title="            ExportVaultConfigDataFunction" href="#derivepassphrase.exporter.ExportVaultConfigDataFunction"><code>exporter.ExportVaultConfigDataFunction</code></a> for an explanation
4877 4909
 of the call signature, and the exceptions to expect.</p>
4878 4910
 
4879 4911
 
... ...
@@ -1499,7 +1499,7 @@ served.  The sequin module is used in Coglan&rsquo;s &ldquo;vault&rdquo; module
1499 1499
 deterministic, stateless password manager that recomputes passwords
1500 1500
 instead of storing them), and this reimplementation is used for
1501 1501
 a similar purpose.</p>
1502
-<p>The main API is the [<code>Sequin</code>][] class, which is thoroughly documented.</p>
1502
+<p>The main API is the <a class="autorefs autorefs-internal" title="            Sequin" href="#derivepassphrase.sequin.Sequin"><code>Sequin</code></a> class, which is thoroughly documented.</p>
1503 1503
 
1504 1504
 
1505 1505
 
... ...
@@ -1885,8 +1888,20 @@
1885 1888
         <p>A bare-bones SSH agent client supporting signing and key listing.</p>
1886 1889
 <p>The main use case is requesting the agent sign some data, after
1887 1890
 checking that the necessary key is already loaded.</p>
1888
-<p>The main fleshed out methods are [<code>list_keys</code>][] and [<code>sign</code>][],
1889
-which implement the [<code>REQUEST_IDENTITIES</code>][_types.SSH_AGENTC.REQUEST_IDENTITIES] and [<code>SIGN_REQUEST</code>][_types.SSH_AGENTC.SIGN_REQUEST] requests.  If you <em>really</em> wanted
1891
+<p>The main fleshed out methods are <a class="autorefs autorefs-internal" title="            list_keys" href="#derivepassphrase.ssh_agent.SSHAgentClient.list_keys"><code>list_keys</code></a> and <a class="autorefs autorefs-internal" title="            sign" href="#derivepassphrase.ssh_agent.SSHAgentClient.sign"><code>sign</code></a>,
1892
+which implement the <a class="autorefs autorefs-internal" title="            REQUEST_IDENTITIES
1893
+
1894
+
1895
+  
1896
+      class-attribute
1897
+      instance-attribute
1898
+  " href="../derivepassphrase._types/#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES"><code>REQUEST_IDENTITIES</code></a> and <a class="autorefs autorefs-internal" title="            SIGN_REQUEST
1899
+
1900
+
1901
+  
1902
+      class-attribute
1903
+      instance-attribute
1904
+  " href="../derivepassphrase._types/#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST"><code>SIGN_REQUEST</code></a> requests.  If you <em>really</em> wanted
1890 1905
 to, there is enough infrastructure in place to issue other requests
1891 1906
 as defined in the protocol&mdash;it&rsquo;s merely the wrapper functions and
1892 1907
 the protocol numbers table that are missing.</p>
... ...
@@ -3132,7 +3147,7 @@ any of them.</p>
3132 3147
             <td>
3133 3148
               <div class="doc-md-description">
3134 3149
                 <p>The public SSH key to sign the payload with, in the same
3135
-format as returned by, e.g., the [<code>list_keys</code>][] method.
3150
+format as returned by, e.g., the <a class="autorefs autorefs-internal" title="            list_keys" href="#derivepassphrase.ssh_agent.SSHAgentClient.list_keys"><code>list_keys</code></a> method.
3136 3151
 The corresponding private key must have previously been
3137 3152
 loaded into the agent to successfully issue a signature.</p>
3138 3153
               </div>
... ...
@@ -3186,7 +3201,7 @@ real-world usage is currently implemented.)</p>
3186 3201
             </td>
3187 3202
             <td>
3188 3203
               <div class="doc-md-description">
3189
-                <p>If true, check beforehand (via [<code>list_keys</code>][]) if the
3204
+                <p>If true, check beforehand (via <a class="autorefs autorefs-internal" title="            list_keys" href="#derivepassphrase.ssh_agent.SSHAgentClient.list_keys"><code>list_keys</code></a>) if the
3190 3205
 corresponding key has been loaded into the agent.</p>
3191 3206
               </div>
3192 3207
             </td>
... ...
@@ -1634,7 +1635,7 @@ kept secret.  The implementation is compatible with <a href="https://www.npmjs.c
1634 1635
 detail</a> in his blog post on said topic: A principally
1635 1636
 infinite bit stream is obtained by running a key-derivation function
1636 1637
 on the master passphrase and the service name, then this bit stream
1637
-is fed into a [sequin.Sequin][] to generate random numbers in the
1638
+is fed into a <a class="autorefs autorefs-internal" title="            Sequin" href="../derivepassphrase.sequin/#derivepassphrase.sequin.Sequin">sequin.Sequin</a> to generate random numbers in the
1638 1639
 correct range, and finally these random numbers select passphrase
1639 1640
 characters until the desired length is reached.</p>
1640 1641
 
... ...
@@ -2003,7 +2004,13 @@ string is used.</p>
2003 2004
             <td>
2004 2005
               <div class="doc-md-description">
2005 2006
                 <p>A vault service name.  Will be suffixed with the
2006
-[<code>UUID</code>][], and then used as the salt value for
2007
+<a class="autorefs autorefs-internal" title="            UUID
2008
+
2009
+
2010
+  
2011
+      class-attribute
2012
+      instance-attribute
2013
+  " href="#derivepassphrase.vault.Vault.UUID"><code>UUID</code></a>, and then used as the salt value for
2007 2014
 PBKDF2.  If a string, then the UTF-8 encoding of the
2008 2015
 string is used.</p>
2009 2016
               </div>
... ...
@@ -2369,7 +2376,13 @@ restricted to the indicated SSH agent).</p>
2369 2376
 
2370 2377
         <p>Obtain the master passphrase from a configured SSH key.</p>
2371 2378
 <p>vault allows the usage of certain SSH keys to derive a master
2372
-passphrase, by signing the vault [<code>UUID</code>][] with the SSH key.
2379
+passphrase, by signing the vault <a class="autorefs autorefs-internal" title="            UUID
2380
+
2381
+
2382
+  
2383
+      class-attribute
2384
+      instance-attribute
2385
+  " href="#derivepassphrase.vault.Vault.UUID"><code>UUID</code></a> with the SSH key.
2373 2386
 The key type must ensure that signatures are deterministic
2374 2387
 (perhaps only in conjunction with the given SSH agent).</p>
2375 2388
 
... ...
@@ -2411,7 +2424,12 @@ The key type must ensure that signatures are deterministic
2411 2424
             <td>
2412 2425
               <div class="doc-md-description">
2413 2426
                 <p>An optional connection hint to the SSH agent.  See
2414
-[<code>ssh_agent.SSHAgentClient.ensure_agent_subcontext</code>][].</p>
2427
+<a class="autorefs autorefs-internal" title="            ensure_agent_subcontext
2428
+
2429
+
2430
+  
2431
+      classmethod
2432
+  " href="../derivepassphrase.ssh_agent/#derivepassphrase.ssh_agent.SSHAgentClient.ensure_agent_subcontext"><code>ssh_agent.SSHAgentClient.ensure_agent_subcontext</code></a>.</p>
2415 2433
               </div>
2416 2434
             </td>
2417 2435
             <td>
... ...
@@ -2437,7 +2455,13 @@ The key type must ensure that signatures are deterministic
2437 2455
             </td>
2438 2456
             <td>
2439 2457
               <div class="doc-md-description">
2440
-                <p>The signature of the vault [<code>UUID</code>][] under this key,
2458
+                <p>The signature of the vault <a class="autorefs autorefs-internal" title="            UUID
2459
+
2460
+
2461
+  
2462
+      class-attribute
2463
+      instance-attribute
2464
+  " href="#derivepassphrase.vault.Vault.UUID"><code>UUID</code></a> under this key,
2441 2465
 unframed but encoded in base64.</p>
2442 2466
               </div>
2443 2467
             </td>
2444 2468