Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.2.9 breaks build on ios #218

Closed
ijc opened this issue Mar 28, 2022 · 3 comments
Closed

v0.2.9 breaks build on ios #218

ijc opened this issue Mar 28, 2022 · 3 comments

Comments

@ijc
Copy link

ijc commented Mar 28, 2022

I think #209 in v0.2.9 may have broken the build on ios (at least x86_64-apple-ios):

error[E0433]: failed to resolve: use of undeclared crate or module `keychain`
  --> .../native-tls-0.2.9/src/imp/security_framework.rs:94:24
   |
94 |         let keychain = keychain::CreateOptions::new()
   |                        ^^^^^^^^ use of undeclared crate or module `keychain`

error[E0433]: failed to resolve: use of undeclared type `SecItems`
  --> .../native-tls-0.2.9/src/imp/security_framework.rs:98:25
   |
98 |         let mut items = SecItems::default();
   |                         ^^^^^^^^ use of undeclared type `SecItems`

error[E0433]: failed to resolve: use of undeclared type `ImportOptions`
   --> .../native-tls-0.2.9/src/imp/security_framework.rs:100:9
    |
100 |         ImportOptions::new()
    |         ^^^^^^^^^^^^^ use of undeclared type `ImportOptions`

error[E0433]: failed to resolve: use of undeclared type `ImportOptions`
   --> .../native-tls-0.2.9/src/imp/security_framework.rs:106:9
    |
106 |         ImportOptions::new()
    |         ^^^^^^^^^^^^^ use of undeclared type `ImportOptions`

error[E0599]: no function or associated item named `with_certificate` found for struct `SecIdentity` in the current scope
   --> .../native-tls-0.2.9/src/imp/security_framework.rs:116:34
    |
116 |         let ident = SecIdentity::with_certificate(&[keychain], cert)?;
    |                                  ^^^^^^^^^^^^^^^^
    |                                  |
    |                                  function or associated item not found in `SecIdentity`
    |                                  help: there is an associated function with a similar name: `certificate`

AFAICT all of the relevant use statements (from self::security_framework::os::macos::...) are under #[cfg(not(target_os = "ios"))].

Was/is it a macos specific feature or are equivalent imports for ios missing? I guess the former and some more #[cfg(not(target_os = "ios"))] are needed somewhere?

@sfackler
Copy link
Owner

Ah yeah, looks like we need to flag the feature off from iOS.

Dushistov added a commit to Dushistov/couchbase-lite-rust that referenced this issue Mar 28, 2022
the problem is bug in native-tls (sfackler/rust-native-tls#218),
so mask it for now
@sfackler
Copy link
Owner

Fixed in 0.2.10

Dushistov added a commit to Dushistov/couchbase-lite-rust that referenced this issue Mar 28, 2022
the problem is bug in native-tls (sfackler/rust-native-tls#218),
so mask it for now
@ijc
Copy link
Author

ijc commented Mar 29, 2022

I can confirm that 0.2.10 works for us, many thanks for the fast turnaround!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants