{"push_id":784882413,"size":77,"distinct_size":1,"ref":"refs/heads/TryGetRawMetadata","head":"1229c2107a8733b7b1af802ebfcb8b1ee3cbea74","before":"ab4228c452f11ab18b6d25d19d582b67ba9f1b70","commits":[{"sha":"02a932e74421ac27604c289d1fb97b23aa243a2e","author":{"email":"1a340065606634b575ed162e9c434c27fe24a7c3@epsitec.ch","name":"Pierre Arnaud"},"message":"Short-circuit key comparison on equal indexes\n\nUseless calls to comparer.Compare should be avoided:\nwhen both index1 and index2 refer to the same key, there is\nno need to execute the recursive CompareAnyKeys method.\n\nSee discussion in issue dotnet/corefx#2962","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/02a932e74421ac27604c289d1fb97b23aa243a2e"},{"sha":"1b2dbafd758fde751d588cb80740a332f418bea0","author":{"email":"be2a797f6c0922ce6485fe7bca291bb611f8ecd7@microsoft.com","name":"Atsushi Kanamori"},"message":"Add back WindowsIdentity::.ctor(string)","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/1b2dbafd758fde751d588cb80740a332f418bea0"},{"sha":"f11f3db9f199889dff0884203a4a8244ae548e9f","author":{"email":"7ad46df05a100d2857c6f464b254895052d6c792@gmail.com","name":"Dmitry Turin"},"message":"Verify the environment of the child process itself","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/f11f3db9f199889dff0884203a4a8244ae548e9f"},{"sha":"57cf111281a22feafb83854789680680da3cab50","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Address various issues in FileSystemWatcher\n\n- On Linux, FileSystemWatcher is built on top of inotify, which has various limits configured in the system for how many instances and watches can be created.  When these limits are hit, exceptions are generated, but the Linux-provided error messages are cryptic about what the problem is.  This change adds better error messages for those cases.  It also ensures that errors regarding watch limits always come out of OnError rather than sometimes being thrown synchronously from EnableRaisingEvents and other times coming out asynchronously.\n- As part of fixing that, I noticed that we had some reliability issues around marking the instance as enabled.  I fixed this up to ensure that we only mark the instance as enabled when we've created everything we need to successfully launch it.\n- While doing that, I noticed that on OS X, if we restart an FSW, we were unnecessarily re-creating a delegate.  I changed it to avoid the unnecessary allocation.\n- And while doing that, I also noticed that we we had a bad exception message when constructing an FSW with something other than a directory.  I fixed the error message.\n- I added tests for all these things.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/57cf111281a22feafb83854789680680da3cab50"},{"sha":"b8de30d1fd281131ae213a4ded4d745c9bc93aa7","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"Stephen Toub"},"message":"Merge pull request #3058 from Maxwe11/process-environment\n\nVerify the environment of the child process itself","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/b8de30d1fd281131ae213a4ded4d745c9bc93aa7"},{"sha":"eacc33cdcbe333217a0d8adcd29c757d8980e2d2","author":{"email":"be2a797f6c0922ce6485fe7bca291bb611f8ecd7@microsoft.com","name":"Atsushi Kanamori"},"message":"Added WindowsIdentity..ctor(string) to contract.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/eacc33cdcbe333217a0d8adcd29c757d8980e2d2"},{"sha":"eea3bfac3a845c81d7ea723b2fe4188971dbae66","author":{"email":"44f878afe53efc66b76772bd845eb65944ed8232@hackcraft.net","name":"Jon Hanna"},"message":"Stop interface ToArray method from being public on public class.\n\nAlso change en-IE spellings in comments to en-US spelling, remove trailing\nwhitespace, and cruft path in iterator movenext.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/eea3bfac3a845c81d7ea723b2fe4188971dbae66"},{"sha":"d687be7da953c5bf5a59f317392778ee7ec3db42","author":{"email":"ef88cdf223e82d966d05894857ed10061f9c24e7@microsoft.com","name":"bartonjs"},"message":"ScanContentLength needs to consider offset when reading multi-byte length values.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/d687be7da953c5bf5a59f317392778ee7ec3db42"},{"sha":"0c48590092a43c37530f752c350c806ee58db38d","author":{"email":"f694667391974dbf5accff46f586ecf7968f64c0@users.noreply.github.com","name":"Atsushi Kanamori"},"message":"Merge pull request #3057 from AtsushiKan/windowsidentityctor\n\nAdd back WindowsIdentity::.ctor(string)","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/0c48590092a43c37530f752c350c806ee58db38d"},{"sha":"062c0088b90826510e9b3a8871ac50e837703cb4","author":{"email":"a88a421e76e570cc32414202048d4483ba2f0a1a@microsoft.com","name":"Jonathan Miller"},"message":"Converting simple almost-one-line functions in I/O and Process over\nfrom platform-specific P/Invoke to the PAL layer","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/062c0088b90826510e9b3a8871ac50e837703cb4"},{"sha":"792b479ed58690cb85d7e7e64f7ce821315d5cc1","author":{"email":"ef88cdf223e82d966d05894857ed10061f9c24e7@microsoft.com","name":"bartonjs"},"message":"Add support for CRL checking in X509Chain on Unix.\n\n* Look up the CRL address via the CRL Distribution Point extension.\n    * Only \"http\" protocol addresses will be attempted (mostly this skips ldap addresses)\n* Download the CRL using libcurl\n* Save the result to ~/.dotnet/corefx/cryptography/crls/\n    * The filename is the hash value from libcrypto, plus \".crl\"\n* Later chains will use this same CRL for the remainder of its validity period (crl.NextUpdate)\n    * This matches the Windows CAPI behavior of caching it for the full lifetime.  It's definitely the easiest to write.\n\nOCSP is not supported with this change.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/792b479ed58690cb85d7e7e64f7ce821315d5cc1"},{"sha":"a000cdcabd306081f728756daf36a1e8310fb4f5","author":{"email":"ef88cdf223e82d966d05894857ed10061f9c24e7@microsoft.com","name":"bartonjs"},"message":"Add a stable test for X509Chain.\n\nThis test has the full certificate chain data available via the ExtraStore collection, and does not check for revocation.\n\nSince the chain can build up to a self-signed cert, it's all happy.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/a000cdcabd306081f728756daf36a1e8310fb4f5"},{"sha":"345a5c4ec2eeda3dc5ac86dd2d6d029c91e116d4","author":{"email":"ef88cdf223e82d966d05894857ed10061f9c24e7@microsoft.com","name":"bartonjs"},"message":"Add a test for the CRL cache on Unix\n\nThis necessitates building the X509 test library differently for Windows and Unix, because it needs to be capable of independently calculating the directory for the test (and we've learned not to trust $HOME!)\n\nThis test does not test Online mode, because eventually the CRL it downloads will be not-yet-valid as of our validation time; at which point the test will be incapable of ever passing again.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/345a5c4ec2eeda3dc5ac86dd2d6d029c91e116d4"},{"sha":"e52df3cfd9de236b29ac5d6fd1c29daa0fbe1a60","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"Stephen Toub"},"message":"Merge pull request #3060 from stephentoub/inotify_error_messages\n\nAddress various issues in FileSystemWatcher","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/e52df3cfd9de236b29ac5d6fd1c29daa0fbe1a60"},{"sha":"7d6a360dc8b85fc18fc01ebaecab9cab40b9134a","author":{"email":"a88a421e76e570cc32414202048d4483ba2f0a1a@microsoft.com","name":"Jonathan Miller"},"message":"Merge pull request #3059 from sokket/pal\n\nConverting simple almost-one-line functions in I/O and Process over to the PAL layer","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/7d6a360dc8b85fc18fc01ebaecab9cab40b9134a"},{"sha":"4ba5245cc225723b476efd1c2afb27f0f5da847d","author":{"email":"ef88cdf223e82d966d05894857ed10061f9c24e7@microsoft.com","name":"Jeremy Barton"},"message":"Merge pull request #3047 from bartonjs/x509_revocation\n\nAdd support for X509 revocation checks on Unix","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/4ba5245cc225723b476efd1c2afb27f0f5da847d"},{"sha":"fde14635af4038231e28f6caa908404f8ff039ec","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"Stephen Toub"},"message":"Merge pull request #3064 from JonHanna/hide_iarrayprovider_implementation\n\nStop interface ToArray method from being public on public class.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/fde14635af4038231e28f6caa908404f8ff039ec"},{"sha":"c2af3efe7356efa34887c144940c2c1e6f60271a","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Implement ReadAsync on CurlHandler response stream\n\nToday, CurlHandler provides a response content stream that doesn't override ReadAsync.  As such, any consumers reading data using ReadAsync will actually end up blocking a thread pool thread doing a synchronous Read.\n\nThis commit fixes that by implementing ReadAsync to be truly asynchronous.  If data is already available, a task is returned immediately.  Otherwise, the reader asynchronously waits for the writer to publish data and then consumes that data.\n\nThe overall design of the response stream remains the same as it was.  However, there are some notable changes:\n- A SemaphoreSlim is now used instead of a ManualResetEventSlim for the _writerPublishedDataEvent.  This was done because SemaphoreSlim supports both synchronous and asynchronous waiting.\n- The _readerRequestingDataEvent was removed, as it was no longer necessary.\n- We no longer allocate an UnmanagedMemoryStream per write operation, instead simply storing the IntPtr buffer and long length on the response stream.\n- Additional reorganization was done, primarily to share logic between Read and ReadAsync.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/c2af3efe7356efa34887c144940c2c1e6f60271a"},{"sha":"80d2b157525211b655c3f81dde0ace6be9617720","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Respect CancellationToken provided to ReadAsync\n\nIn the previous commit, we only polled the user-provided CancellationToken prior to waiting on the synchronization primitive, but the sync primitive wait was only cancelable by shutting down the stream.  This commit updates that logic to support also canceling the asynchronous wait via the user-provided CancellationToken.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/80d2b157525211b655c3f81dde0ace6be9617720"},{"sha":"94ea117c8c558dfeae3327f089f820c0c0d4a487","author":{"email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com","name":"stephentoub"},"message":"Delete stale HttpClientHandler.Unix.cs file\n\nThere are two HttpClientHandler.Unix.cs files checked in:\n- One in System.Net.Http\\src\\System\\Net\\Http\n- One in System.Net.Http\\src\\System\\Net\\Http\\Unix\n\nThe former is the original stubbed out version, throws from every\nproperty, and isn't referenced by the .csproj, whereas the latter is where\nall of the recent development related to CurlHandler has happened.\n\nThis commit simply deletes the former from the repo.","distinct":false,"url":"https://api.github.com/repos/kouvel/corefx/commits/94ea117c8c558dfeae3327f089f820c0c0d4a487"}]}