Commit Graph

30 Commits

Author SHA1 Message Date
Sasha Weiss
d267ec8305
Run swiftformat . 2025-12-30 11:34:05 -08:00
Henry Holtzman
5bc9f60375
[Payments] Add mobilecoin enclave measurements for v7.x 2025-07-21 16:54:30 -07:00
Max Radermacher
10cb6f69f7
Use HttpHeaders in more places 2025-03-21 13:53:38 -05:00
Max Radermacher
6d14b97ab6
Use new async OWSUrlSession methods 2024-11-04 15:29:53 -06:00
Ehren Kret
3c3651ac9a convert OWSHttpSecurityPolicy to swift
additionally cleanup duplicate certificate loading code scattered
about in the codebase
2024-09-27 11:37:40 -05:00
Ehren Kret
cbd5d860bc networking code cleanup and improvements 2024-08-14 15:30:39 -05:00
Adam Mork
70d2a68186
[Payments] Add mobilecoin/sentz enclave measurements for v6.0.0
Signed-off-by: the-real-adammork <adammork@gmail.com>
2024-05-30 16:44:00 -05:00
Pete Walters
0386e10726
Update mobilecoin SDK to v6.0.0
Co-authored-by: Adam Mork <adammork@gmail.com>
2024-01-30 12:32:21 -06:00
Harry
2ac759408a
[MOB] Payment messages in chat 2023-08-24 13:55:39 -07:00
Pete Walters
be013d8d37
Update MobileCoin SDK to v5.0.0
Co-authored-by: the-real-adammork <adammork@gmail.com>
2023-06-12 12:52:23 -05:00
Igor Solomennikov
c054f3de91
Remove unnecessary "@objc" in SignalUI. 2023-05-16 16:39:19 -07:00
Harry
003cc19e62
Update SignalCoreKit. Use explicit DispatchQueue instead of relying on the implicit type on promise 'on' params
* Use explicit DispatchQueue instead of relying on the implicit type on promise 'on' params

* Update SignalCoreKit
2023-02-07 16:14:39 -08:00
Adam Mork
b9276ef47f
Add new MobileCoin testnet enclave measurements 2023-02-02 12:25:44 -08:00
Adam Mork
660a90c3f1
Update to MobileCoin 4.0.0 (prerelease) 2023-02-02 10:50:12 -06:00
Adam Mork
8a27d9f373
Specify both of the the Signal consensus nodes in the network config, this allows for client side load balancing, and rotation on failure. (#5619)
Specify both of the the Signal consensus nodes in the network config this allows for client side load balancing, and rotation on failure.
2023-01-13 17:48:09 -08:00
Adam Mork
05e82308df
add testnet enclave measurements for v3.0.0 (#5442)
Update enclave measurements to v3.0.0 for testnet (11/08/2022 build).
2022-12-21 14:06:38 -08:00
Max Radermacher
3a2b5a37bf Fix SwiftLint violations 2022-11-29 14:47:23 -08:00
Max Radermacher
0fb57a74ae
Fix various bugs in OWSHttpHeaders
First, `OWSHttpHeaders(httpHeaders:)` completely ignored its argument.
This doesn’t actually seem to have led to any bugs in practice; one time
the caller appears to have worked around the bug by adding the headers
again, and another time the caller relied on `allHTTPHeaderFields`
ignoring unrelated values.

Second, `URLRequest` has both `addValue` and `setValue` methods for its
headers. The former will construct a comma-separated list if the header
is already set, and the latter will replace it if it’s already set. (If
the header hasn’t been set, the two are equivalent, which is why call
sites weren’t broken even though they used the wrong method.) This was
broken only in multi-part uploads, but it was broken for "User-Agent"
and "Accept-Language", both of which are non-critical.

Third, `URLRequest`’s `allHTTPHeaderFields` doesn’t behave the way you
might expect. There’s a unit test which demonstrates some of the weird
behaviors, but any fields that aren’t present in the assigned value
aren’t touched. It seems as though most code was written as if calling
this method would fully replace *all* the HTTP headers. (The
`replace(…)` and `removeAllHeaders` methods have been removed because
they didn’t do what you’d think, and they weren’t necessary.)

Also:
* Remove Obj-C support from OWSHttpHeaders
* Move & simplify tests for HTTP Retry-After header
* Remove unused `asConnectionFailureError` method
2022-11-22 11:43:55 -08:00
Adam Mork
06f5a09a22
[Payments] MobileCoin enclave measurements update for v3.0.0 (#5378)
added mainnet 3.0.0 MobileCoin enclave measurements, and updated flow of attestation measurements to attestations so hardening advisories match the measurements that need them.
2022-11-07 15:52:36 -08:00
Evan Hahn
370ff654e7
Change license to AGPL
Change license to AGPL

This commit:

- Updates the `LICENSE` file

- Start every file with something like:

      // Copyright YEAR_FIRST_PUBLISHED Signal Messenger, LLC
      // SPDX-License-Identifier: AGPL-3.0-only

---

First, I removed existing license headers with this Ruby 3.1.2 script:

    require 'set'

    EXTENSIONS_TO_CHECK = Set['.h', '.hpp', '.cpp', '.m', '.mm', '.pch', '.swift']

    same = 0
    different = 0

    all_files = `git ls-files`.lines.map { |line| line.strip }
    all_files.each do |relative_path|
      if relative_path == 'Pods'
        next
      end

      unless EXTENSIONS_TO_CHECK.include? File.extname(relative_path)
        next
      end

      path = File.expand_path(relative_path)

      contents = File.read(path)
      new_contents = contents.sub(/\/\/\n\/\/  Copyright .*\n\/\/\n\n/, '')

      if contents == new_contents
        same += 1
      else
        different += 1
      end

      File.write(path, new_contents)
    end

    puts "updated #{different} file(s), left #{same} untouched"

I'm sure this script could be improved, but it worked well enough.

Then, I created `Scripts/lint/lint-license-headers` and ran it to auto-
fix a lot of files. This changed the mode of some files, but I think
that's actually desirable. For example,
`SignalServiceKit/src/Util/AppContext.m` previously had a mode of
`0755/-rwxr-xr-x`, and it's now `0644/-rw-r--r--`.

Then I fixed some stragglers and updated the precommit script.

See [a similar change in the Desktop app][0].

[0]: 8bfaf598af
2022-10-13 08:25:37 -05:00
Adam Mork
aac2f37150
[Payments] Update the MobileCoin dependency to the latest 1.2.2 release
* update MobileCoin to release v1.2.x, add new 1.2.x testNet enclave
values, migrate deprecated function calls to new alternatives.

* Add new top-level error to convertMCError

use staging for now

* Add mainnet enclave values, revert production/staging environment change from testing. Add comment about libmobilecoin static libraries needing to be built on signal build machine.

* add 2.x series enclave measurements

* Add intel hardening advisory for the new 2.x series of enclaves. This hardening advisory being added has no effect on the 1.2.x enclaves, but is required for the 2.x enclaves.

* Remove commented enclave measurements, change Logger.error to Logger.warn (some failed requests is expected for long-living connections), Add in new testNet enclave measurements

* Update to LibMobileCoin v1.2.2

Co-authored-by: Nora Trapp <nora@signal.org>
2022-08-22 13:08:40 -07:00
Evan Hahn
48c3c08c10 Fix vertical_parameter_alignment SwiftLint violations
This fixes violations of [SwiftLint's `vertical_parameter_alignment`
rule][0]. This should have no user impact.

[0]: https://realm.github.io/SwiftLint/vertical_parameter_alignment.html
2022-08-18 10:37:09 -05:00
Adam Mork
bb7b73213f Use shorter fog report URI in wallet 2022-05-09 08:11:42 -05:00
Ehren Kret
c123d91dd5 Revert "Use shorter URLs for MOB FOG"
This reverts commit f45b50fe80.
2022-05-02 20:39:52 -05:00
Ehren Kret
f45b50fe80 Use shorter URLs for MOB FOG 2022-05-02 11:21:01 -05:00
Evan Hahn
67ea0d0516 Fix some trivial compiler warnings
This fixes 10 of our Xcode warnings:

- `MessageReactionPicker.swift` was declaring a variable and not using
  it, leading to "Immutable value 'emoji' was never used". I simply
  removed it.
- `Stripe.swift` had a bunch of unnecessary `public`s, which caused
  "'public' modifier is redundant for static property declared in a
  public extension".
- `SubscriptionManager.swift` had an unnecessary `try`, causing "No
  calls to throwing functions occur within 'try' expression".
- `CallService.swift:696` was calling a function and not using its
  result, so I annotated that function with `@discardableResult`.
- `MobileCoinAPI+Configuration.swift` declared a variable with `var`
  that should've used `let`.

Nothing major here, but wanted to find ones that were easy to fix.
2022-04-19 09:28:15 -05:00
the-real-adammork
50b6fad302 Update Promise chain in HttpRequester to fix 403 looping
Promise chain in the HttpRequester did not handle connection errors
correctly. It was mapping all errors in the catch block to "No response"
or the equivalent of "request failed and it does not have a status code"
whereas in reality the errors in that catch block did have a status code
and should be passed into the completion handler for re-attestation or
similar. Fix checks for a valid status code from the error object in the
catch block and if present passes it to the completion handler as a
.success, otherwise, return a connection error sans the statusCode.
2022-03-14 13:00:18 -07:00
Nora Trapp
0f56118382 Update to MobileCoin v1.2.0-pre10 2022-03-04 15:07:50 -08:00
Nora Trapp
a2f51dc4a3 Cleanup old feature flags 2022-01-24 10:53:55 -08:00
Matthew Chen
60593ee26f Move MobileCoin SDK to SignalUI. 2021-11-02 14:26:02 -03:00