Skip to content

Commit 4d222de

Browse files
committed
Merge branch 'release/dev17.5' of https://github.com/dotnet/fsharp into release/dev17.5
2 parents 2e92791 + d7ebfd6 commit 4d222de

File tree

175 files changed

+3271
-1703
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+3271
-1703
lines changed

FSharpBuild.Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<OtherFlags>$(OtherFlags) --nowarn:3384</OtherFlags>
2828
<OtherFlags>$(OtherFlags) --times --nowarn:75</OtherFlags>
2929
<OtherFlags Condition="$(ParallelCheckingWithSignatureFilesOn) == 'true'">$(OtherFlags) --test:ParallelCheckingWithSignatureFilesOn</OtherFlags>
30+
<OtherFlags Condition="$(AdditionalFscCmdFlags) != ''">$(OtherFlags) $(AdditionalFscCmdFlags)</OtherFlags>
3031
</PropertyGroup>
3132

3233
<!-- nuget -->

a

272 Bytes
Binary file not shown.

src/Compiler/AbstractIL/ilsign.fs

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -297,12 +297,6 @@ let signStream stream keyBlob =
297297
let signature = createSignature hash keyBlob KeyType.KeyPair
298298
patchSignature stream peReader signature
299299

300-
let signFile fileName keyBlob =
301-
use fs =
302-
FileSystem.OpenFileForWriteShim(fileName, FileMode.Open, FileAccess.ReadWrite)
303-
304-
signStream fs keyBlob
305-
306300
let signatureSize (pk: byte[]) =
307301
if pk.Length < 25 then
308302
raise (CryptographicException(getResourceString (FSComp.SR.ilSignInvalidPKBlob ())))
@@ -339,18 +333,9 @@ let signerOpenKeyPairFile filePath =
339333

340334
let signerGetPublicKeyForKeyPair (kp: keyPair) : pubkey = getPublicKeyForKeyPair kp
341335

342-
let signerGetPublicKeyForKeyContainer (_kcName: keyContainerName) : pubkey =
343-
raise (NotImplementedException("signerGetPublicKeyForKeyContainer is not yet implemented"))
344-
345-
let signerCloseKeyContainer (_kc: keyContainerName) : unit =
346-
raise (NotImplementedException("signerCloseKeyContainer is not yet implemented"))
347-
348336
let signerSignatureSize (pk: pubkey) : int = signatureSize pk
349337

350-
let signerSignFileWithKeyPair (fileName: string) (kp: keyPair) : unit = signFile fileName kp
351-
352-
let signerSignFileWithKeyContainer (_fileName: string) (_kcName: keyContainerName) : unit =
353-
raise (NotImplementedException("signerSignFileWithKeyContainer is not yet implemented"))
338+
let signerSignStreamWithKeyPair stream keyBlob = signStream stream keyBlob
354339

355340
let failWithContainerSigningUnsupportedOnThisPlatform () =
356341
failwith (FSComp.SR.containerSigningUnsupportedOnThisPlatform () |> snd)
@@ -364,20 +349,12 @@ type ILStrongNameSigner =
364349
| KeyPair of keyPair
365350
| KeyContainer of keyContainerName
366351

367-
static member OpenPublicKeyOptions s p =
368-
PublicKeyOptionsSigner((signerOpenPublicKeyFile s), p)
352+
static member OpenPublicKeyOptions kp p = PublicKeyOptionsSigner(kp, p)
369353

370-
static member OpenPublicKey pubkey = PublicKeySigner pubkey
371-
static member OpenKeyPairFile s = KeyPair(signerOpenKeyPairFile s)
354+
static member OpenPublicKey bytes = PublicKeySigner bytes
355+
static member OpenKeyPairFile bytes = KeyPair(bytes)
372356
static member OpenKeyContainer s = KeyContainer s
373357

374-
member s.Close() =
375-
match s with
376-
| PublicKeySigner _
377-
| PublicKeyOptionsSigner _
378-
| KeyPair _ -> ()
379-
| KeyContainer _ -> failWithContainerSigningUnsupportedOnThisPlatform ()
380-
381358
member s.IsFullySigned =
382359
match s with
383360
| PublicKeySigner _ -> false
@@ -412,9 +389,9 @@ type ILStrongNameSigner =
412389
| KeyPair kp -> pkSignatureSize (signerGetPublicKeyForKeyPair kp)
413390
| KeyContainer _ -> failWithContainerSigningUnsupportedOnThisPlatform ()
414391

415-
member s.SignFile file =
392+
member s.SignStream stream =
416393
match s with
417394
| PublicKeySigner _ -> ()
418395
| PublicKeyOptionsSigner _ -> ()
419-
| KeyPair kp -> signerSignFileWithKeyPair file kp
396+
| KeyPair kp -> signerSignStreamWithKeyPair stream kp
420397
| KeyContainer _ -> failWithContainerSigningUnsupportedOnThisPlatform ()

src/Compiler/AbstractIL/ilsign.fsi

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,20 @@
77
88
module internal FSharp.Compiler.AbstractIL.StrongNameSign
99

10+
open System
11+
open System.IO
12+
1013
//---------------------------------------------------------------------
1114
// Strong name signing
1215
//---------------------------------------------------------------------
1316
[<Sealed>]
1417
type ILStrongNameSigner =
1518
member PublicKey: byte[]
16-
static member OpenPublicKeyOptions: string -> bool -> ILStrongNameSigner
19+
static member OpenPublicKeyOptions: byte array -> bool -> ILStrongNameSigner
1720
static member OpenPublicKey: byte[] -> ILStrongNameSigner
18-
static member OpenKeyPairFile: string -> ILStrongNameSigner
21+
static member OpenKeyPairFile: byte[] -> ILStrongNameSigner
1922
static member OpenKeyContainer: string -> ILStrongNameSigner
20-
member Close: unit -> unit
2123
member IsFullySigned: bool
2224
member PublicKey: byte[]
2325
member SignatureSize: int
24-
member SignFile: string -> unit
26+
member SignStream: Stream -> unit

0 commit comments

Comments
 (0)