Commits on Apr 28, 2018
  1. Fix crash on mac (and 32-bit iOS?) - don't represent SRDelegateAvaila…

    danielrhammond authored and nlutsenko committed Apr 28, 2018
    …bleMethods as a bitfield (#530)
    * Don't represent SRDelegateAvailableMethods as a bitfield
    Since Objective-C uses a signed char for BOOL on some platforms (macOS and 32-bit iOS) packing this into a bitfield doesn't work since when it tries to read the field it looks for the sign bit and fails with an EXC_BAD_INSTRUCTION. This change sacrifices a few bits for the extra portability.
    * CR - followup
Commits on Aug 30, 2017
  1. Deprecate SSL pinning and trust chain verification. (#534)

    richardjrossiii committed Aug 30, 2017
    Oh boy. Here's a controversial change.
    Let's give a bit of backstory.
    A few weeks ago, Facebook was contacted by a whitehat hacker (the good
    guys) about a security vulnerability here in SocketRocket.
    For those of you who are truly interested in what that security flaw
    was, it is essentially the same flaw as outlined here:
    So, we were faced with a choice - quietly push out a patch, and hope
    that eventually existing applications updated, or be transparent and
    admit we screwed up.
    This is us admititng we screwed up. And while yes, we could probably fix
    the implementation. But we talked internally, and decided that the best
    approach here is to completely remove the option for pinning.
    For all of our existing users that use certificate pinning, while we
    understand that in the past there has been a very large barrier to entry
    with getting a CA to issue a certificate.
    However, since the rollout of CAs like LetsEncrypt, there's become an
    ever-dwindling reason to actually use self-signed or unsigned
    For this reason, we're going to go ahead and deprecate the APIs that
    allow SSL pinning and disabling trust chain verification. The pinning
    APIs are now going to throw an exception when invoked, and the trust
    chain APIs have deprecation warnings.
    If you are a user of these APIs, and you for some reason **CANNOT** use
    a trust chain validated certificate, PLEASE speak up. While we cannot
    think of any reason to use those kinds of certificates, it's entirely
    possible we overlooked something. We'll leave this pullrequest unmerged
    for a two week period (Monday, August 28th, 2017), at which point,
    unless we have feedback convincing us otherwise, we will go ahead with
    this change.
Commits on Oct 31, 2016
  1. Make copying optional when receiving data (#428)

    erikprice authored and nlutsenko committed Oct 31, 2016
    * Reduce memory usage
    Reduce memory usage by discarding, not resetting, the frame data buffer.
    Let delegate control copying.
    * Delegate methods expect `self`
    * Add `-sendWithoutCopyingData:error:`
    * Add `-webSocket:shouldCopyReceivedData:`
    * Fix error messages
    * Remove `-webSocket:shouldCopyReceivedData:`
    * Revert "Fix error messages"
    This reverts commit 4d5f5f0.
    * Fix typo
    * Copy only control frames
    * Fix error message
  2. Ensure test environment is ready (#462)

    feosuna1 authored and nlutsenko committed Oct 31, 2016
    When running tests, lets make sure that the test environment is ready to go.
Commits on Sep 14, 2016
Commits on Aug 25, 2016
Commits on Aug 24, 2016
  1. Merge pull request #461 from facebook/nlutsenko.lint

    nlutsenko committed Aug 24, 2016
    Lint, cleanup and fix analyzer warning.
Commits on Aug 23, 2016
  1. Merge pull request #455 from facebook/nlutsenko.proxy.crash

    nlutsenko committed Aug 23, 2016
    Optimize input queue processing in SRProxyConnect.
Commits on Aug 22, 2016
  1. Merge pull request #460 from facebook/nlutsenko.warning

    nlutsenko committed Aug 22, 2016
    Fix warnings on few potential clang configurations.
Commits on Aug 8, 2016
  1. Merge pull request #453 from facebook/nlutsenko.cleanup

    nlutsenko committed Aug 8, 2016
    Update configurations and unbreak compilation of a sample app.
Commits on Jul 29, 2016
  1. Fixed build on under iOS 10 SDK (#450)

    fjolnir authored and nlutsenko committed Jul 29, 2016
    iOS 10 adds NSURLNetworkServiceTypeCallSignaling
    which made this switch in
    setupNetworkServiceType non-exhaustive
Commits on Jul 28, 2016
Commits on Jul 9, 2016
Commits on Jul 8, 2016
  1. Make payload masking use vector instructions. (#440)

    richardjrossiii committed Jul 8, 2016
    This is up to 50x faster when running on an ARM64 device, and effects
    every payload we send out from the device.
  2. Merge pull request #439 from mortonfox/patch-1

    nlutsenko committed Jul 8, 2016
    Update link to license
  3. Update link to license

    mortonfox committed Jul 8, 2016
Commits on Jul 6, 2016
  1. Merge pull request #437 from facebook/nlutsenko.configurations

    nlutsenko committed Jul 6, 2016
    Update all targets to use shared configuration files from xctoolchain.