Commit Graph

13 Commits

Author SHA1 Message Date
Lorenzo Blasa
1beae3230b Remove OpenSSL file BIO operations
Summary:
^
Change necessary when OpenSSL is compiled without STDIO for file operations. Basically, don't use the BIO file API's. Instead use in-memory BIO and do file operations manually.

UPDATE:

The changes were good, but have been simplified and fixed. A fixed was needed as to read and write the file in binary mode. This has no effect in POSIX systems but it does on Windows and this change was made for Windows. It meant that the BIO was incorrectly written to disk thus corrupting its content.

Changelog: Remove OpenSSL file BIO operations

Reviewed By: jknoxville

Differential Revision: D36060992

fbshipit-source-id: 21b30582dd0b32c24b8ba001d6993034d92de1da
2022-05-09 05:27:21 -07:00
Andres Suarez
79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00
Lorenzo Blasa
43179a7ef4 ConnectionContext to expose client certificate in PKCS #12 format
Summary:
RSocket plays nicely with Folly and OpenSSL.

Flipper WebSocket-client uses SocketRocket which instead relies on Apple's NSInputStream and NSOutputStream types.

SSL options can be set to secure the communication in both.

Unfortunately, Apple APIs are a bit limited on the supported cryptographic formats it can accept as arguments.

SSL options require the client certificate to be set in PKCS #12 format, contrary to the existing PEM format used by RSocket.

This change adds a method to the ConnectionContext which converts and saves the client certificate in PKCS #12 format.

The method is always expected to succeed as it will only be called once a valid client certificate is available. An unlikely failure will raise an exception.

Reviewed By: fabiomassimo

Differential Revision: D30074334

fbshipit-source-id: 91a475d080569cc339b649c7302b1f28793c7de7
2021-08-04 06:34:18 -07:00
Pritesh Nandgaonkar
b0b49e1098 Handle CN greater than 64 character length
Summary:
This diff handles the case when the CN(subject Common) is greater than 64. CN in our case is an appId, which can be greater than 64 length. Have a look at this [issue](https://fb.workplace.com/groups/flippersupport/permalink/1142641402883183/). In this issue the appID was  `com.facebook.internal.focusrepresentativeapp.development.localDevelopment`

See this [discussion on stack](https://unix.stackexchange.com/questions/234324/openssl-self-signed-certificate-with-a-common-name-longer-than-64-bytes) overflow to understand about the limit of 64.

This diff checks the length first and then defaults the CN to be "com.flipper".

Reviewed By: jknoxville

Differential Revision: D28807389

fbshipit-source-id: ca01ccd5d31a51826df49f943414c42bf902be89
2021-06-02 03:51:57 -07:00
John Knox
07212ec8e0 Fix memory leak
Summary:
Fixes https://github.com/facebook/flipper/issues/1561

Thanks to rdunlop for finding this!

Reviewed By: cekkaewnumchai

Differential Revision: D24923154

fbshipit-source-id: f4904730aecb9ecd7f391b5e1dcabc6a6db038cf
2020-11-17 03:59:59 -08:00
Michel Weststrate
ffbccf2331 Fixed more missing namespaces
Summary: See the previous diffs, we pollute the global namespace here and there. Found some more missing namespace wrappers. Tried to wrap `FlipperStep` as well, which passed tests but gave weird linking errors in Wilde, so reverted that part (the name is not very ambiguous anyway)

Reviewed By: cekkaewnumchai

Differential Revision: D24193109

fbshipit-source-id: 111c479e421fdb321e898f948586229f30a7d777
2020-10-13 03:06:38 -07:00
Andres Suarez
c315691b2d Apply clang-format
Differential Revision: D19843069

fbshipit-source-id: af3f3998e2259ca5070b43ffb19933cf9304319d
2020-02-11 19:29:23 -08:00
Andres Suarez
0675dd924d Tidy up Flipper license headers [1/2]
Reviewed By: passy

Differential Revision: D17863711

fbshipit-source-id: 259dc77826fb803ff1b88c88529d7f679d3b74d8
2019-10-11 13:46:45 -07:00
Rain ⁣
aa649ff48f standardize C-like MIT copyright headers throughout fbsource
Summary:
`/*` is the standard throughout open source code. For example, Firefox uses single /*: https://hg.mozilla.org/mozilla-central/file/21d22b2f541258d3d1cf96c7ba5ad73e96e616b5/gfx/ipc/CompositorWidgetVsyncObserver.cpp#l3

In addition, Rust considers `/**` to be a doc comment (similar to Javadoc) and having such a comment at the beginning of the file causes `rustc` to barf.

Note that some JavaScript tooling requires `/**`. This is OK since JavaScript files were not covered by the linter in the first place, but it would be good to have that tooling fixed too.

Reviewed By: zertosh

Differential Revision: D15640366

fbshipit-source-id: b4ed4599071516364d6109720750d6a43304c089
2019-06-06 19:40:28 -07:00
Pascal Hartig
65d50fe120 Update license headers in xplat
Summary: Per title.

Reviewed By: danielbuechele

Differential Revision: D15166958

fbshipit-source-id: 26f0a6d7523be3192833fd3995bc9f5e948816a6
2019-05-02 05:08:54 -07:00
Alex Langenfeld
a54b542d17 use portable SysStat.h
Summary: for Windows

Reviewed By: passy

Differential Revision: D9886244

fbshipit-source-id: d82b4a76efd1c200096bb6d3573b527ba058bf0b
2018-10-03 14:29:59 -07:00
John Knox
f35ca982bf Change CSR subject from sonar to flipper
Summary: This shouldn't have any effect on anything, it doesn't need to be any particular value.

Reviewed By: danielbuechele

Differential Revision: D9944462

fbshipit-source-id: f84c70b3cd18fdfe1d41f07b5b0ede2fdec3f44a
2018-09-25 04:57:48 -07:00
John Knox
df8763e697 Move xplat/sonar/xplat/Sonar* to Flipper*
Summary:
Part of the Sonar -> Flipper rename
Intentionally left externally visible buck target as Sonar for now to minimize diff size.

Reviewed By: passy

Differential Revision: D9871684

fbshipit-source-id: 6926eb62c578a05cd895745c75ed7da3cfe965b5
2018-09-20 15:39:57 -07:00