mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix more warnings
This commit is contained in:
parent
ee7d4b125b
commit
adc430b870
@ -15,6 +15,7 @@ objc_library(
|
|||||||
],
|
],
|
||||||
copts = [
|
copts = [
|
||||||
"-DTELEGRAM_USE_BORINGSSL=1",
|
"-DTELEGRAM_USE_BORINGSSL=1",
|
||||||
|
"-Werror",
|
||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
"//submodules/EncryptionProvider:EncryptionProvider",
|
"//submodules/EncryptionProvider:EncryptionProvider",
|
||||||
|
@ -90,70 +90,70 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
- (id<MTBignum>)clone:(id<MTBignum>)other {
|
- (id<MTBignum>)clone:(id<MTBignum>)other {
|
||||||
assert([other isKindOfClass:[MTBignumImpl class]]);
|
assert([other isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *otherImpl = other;
|
MTBignumImpl *otherImpl = (MTBignumImpl *)other;
|
||||||
return [otherImpl copy];
|
return [otherImpl copy];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setConstantTime:(id<MTBignum>)other {
|
- (void)setConstantTime:(id<MTBignum>)other {
|
||||||
assert([other isKindOfClass:[MTBignumImpl class]]);
|
assert([other isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *otherImpl = other;
|
|
||||||
#ifndef TELEGRAM_USE_BORINGSSL
|
#ifndef TELEGRAM_USE_BORINGSSL
|
||||||
|
MTBignumImpl *otherImpl = (MTBignumImpl *)other;
|
||||||
BN_set_flags(otherImpl->_value, BN_FLG_CONSTTIME);
|
BN_set_flags(otherImpl->_value, BN_FLG_CONSTTIME);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)assignWordTo:(id<MTBignum>)bignum value:(unsigned long)value {
|
- (void)assignWordTo:(id<MTBignum>)bignum value:(unsigned long)value {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
BN_set_word(bignumImpl->_value, value);
|
BN_set_word(bignumImpl->_value, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)assignHexTo:(id<MTBignum>)bignum value:(NSString *)value {
|
- (void)assignHexTo:(id<MTBignum>)bignum value:(NSString *)value {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
BN_hex2bn(&bignumImpl->_value, [value UTF8String]);
|
BN_hex2bn(&bignumImpl->_value, [value UTF8String]);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)assignBinTo:(id<MTBignum>)bignum value:(NSData *)value {
|
- (void)assignBinTo:(id<MTBignum>)bignum value:(NSData *)value {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
BN_bin2bn(value.bytes, value.length, bignumImpl->_value);
|
BN_bin2bn(value.bytes, value.length, bignumImpl->_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)assignOneTo:(id<MTBignum>)bignum {
|
- (void)assignOneTo:(id<MTBignum>)bignum {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
BN_one(bignumImpl->_value);
|
BN_one(bignumImpl->_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)assignZeroTo:(id<MTBignum>)bignum {
|
- (void)assignZeroTo:(id<MTBignum>)bignum {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
BN_zero(bignumImpl->_value);
|
BN_zero(bignumImpl->_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (bool)isOne:(id<MTBignum>)bignum {
|
- (bool)isOne:(id<MTBignum>)bignum {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
return BN_is_one(bignumImpl->_value);
|
return BN_is_one(bignumImpl->_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (bool)isZero:(id<MTBignum>)bignum {
|
- (bool)isZero:(id<MTBignum>)bignum {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
return BN_is_zero(bignumImpl->_value);
|
return BN_is_zero(bignumImpl->_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSData *)getBin:(id<MTBignum>)bignum {
|
- (NSData *)getBin:(id<MTBignum>)bignum {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
int numBytes = BN_num_bytes(bignumImpl->_value);
|
int numBytes = BN_num_bytes(bignumImpl->_value);
|
||||||
NSMutableData *data = [[NSMutableData alloc] initWithLength:numBytes];
|
NSMutableData *data = [[NSMutableData alloc] initWithLength:numBytes];
|
||||||
@ -164,7 +164,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
- (int)isPrime:(id<MTBignum>)bignum numberOfChecks:(int)numberOfChecks {
|
- (int)isPrime:(id<MTBignum>)bignum numberOfChecks:(int)numberOfChecks {
|
||||||
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
assert([bignum isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *bignumImpl = bignum;
|
MTBignumImpl *bignumImpl = (MTBignumImpl *)bignum;
|
||||||
|
|
||||||
return BN_is_prime_ex(bignumImpl->_value, numberOfChecks, _context, NULL);
|
return BN_is_prime_ex(bignumImpl->_value, numberOfChecks, _context, NULL);
|
||||||
}
|
}
|
||||||
@ -172,8 +172,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
- (int)compare:(id<MTBignum>)a with:(id<MTBignum>)b {
|
- (int)compare:(id<MTBignum>)a with:(id<MTBignum>)b {
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
|
|
||||||
return BN_cmp(aImpl->_value, bImpl->_value);
|
return BN_cmp(aImpl->_value, bImpl->_value);
|
||||||
}
|
}
|
||||||
@ -183,10 +183,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
MTBignumImpl *modImpl = mod;
|
MTBignumImpl *modImpl = (MTBignumImpl *)mod;
|
||||||
|
|
||||||
return BN_mod_add(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
return BN_mod_add(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
@ -196,10 +196,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
MTBignumImpl *modImpl = mod;
|
MTBignumImpl *modImpl = (MTBignumImpl *)mod;
|
||||||
|
|
||||||
return BN_mod_sub(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
return BN_mod_sub(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
@ -209,10 +209,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
MTBignumImpl *modImpl = mod;
|
MTBignumImpl *modImpl = (MTBignumImpl *)mod;
|
||||||
|
|
||||||
return BN_mod_mul(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
return BN_mod_mul(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
@ -222,10 +222,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
MTBignumImpl *modImpl = mod;
|
MTBignumImpl *modImpl = (MTBignumImpl *)mod;
|
||||||
|
|
||||||
return BN_mod_exp(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
return BN_mod_exp(resultImpl->_value, aImpl->_value, bImpl->_value, modImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
@ -234,9 +234,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([result isKindOfClass:[MTBignumImpl class]]);
|
assert([result isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
|
|
||||||
return BN_add(resultImpl->_value, aImpl->_value, bImpl->_value) != 0;
|
return BN_add(resultImpl->_value, aImpl->_value, bImpl->_value) != 0;
|
||||||
}
|
}
|
||||||
@ -245,9 +245,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([result isKindOfClass:[MTBignumImpl class]]);
|
assert([result isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
|
|
||||||
return BN_sub(resultImpl->_value, aImpl->_value, bImpl->_value) != 0;
|
return BN_sub(resultImpl->_value, aImpl->_value, bImpl->_value) != 0;
|
||||||
}
|
}
|
||||||
@ -256,9 +256,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([result isKindOfClass:[MTBignumImpl class]]);
|
assert([result isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
|
|
||||||
return BN_mul(resultImpl->_value, aImpl->_value, bImpl->_value, _context) != 0;
|
return BN_mul(resultImpl->_value, aImpl->_value, bImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
@ -267,9 +267,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([result isKindOfClass:[MTBignumImpl class]]);
|
assert([result isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([b isKindOfClass:[MTBignumImpl class]]);
|
assert([b isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *bImpl = b;
|
MTBignumImpl *bImpl = (MTBignumImpl *)b;
|
||||||
|
|
||||||
return BN_exp(resultImpl->_value, aImpl->_value, bImpl->_value, _context) != 0;
|
return BN_exp(resultImpl->_value, aImpl->_value, bImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
@ -278,16 +278,16 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
assert([result isKindOfClass:[MTBignumImpl class]]);
|
assert([result isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
assert([mod isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
MTBignumImpl *modImpl = mod;
|
MTBignumImpl *modImpl = (MTBignumImpl *)mod;
|
||||||
|
|
||||||
return BN_mod_inverse(resultImpl->_value, aImpl->_value, modImpl->_value, _context) != 0;
|
return BN_mod_inverse(resultImpl->_value, aImpl->_value, modImpl->_value, _context) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (unsigned long)modWord:(id<MTBignum>)a mod:(unsigned long)mod {
|
- (unsigned long)modWord:(id<MTBignum>)a mod:(unsigned long)mod {
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
|
|
||||||
return BN_mod_word(aImpl->_value, mod);
|
return BN_mod_word(aImpl->_value, mod);
|
||||||
}
|
}
|
||||||
@ -295,8 +295,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
- (bool)rightShift1Bit:(id<MTBignum>)result a:(id<MTBignum>)a {
|
- (bool)rightShift1Bit:(id<MTBignum>)result a:(id<MTBignum>)a {
|
||||||
assert([result isKindOfClass:[MTBignumImpl class]]);
|
assert([result isKindOfClass:[MTBignumImpl class]]);
|
||||||
assert([a isKindOfClass:[MTBignumImpl class]]);
|
assert([a isKindOfClass:[MTBignumImpl class]]);
|
||||||
MTBignumImpl *resultImpl = result;
|
MTBignumImpl *resultImpl = (MTBignumImpl *)result;
|
||||||
MTBignumImpl *aImpl = a;
|
MTBignumImpl *aImpl = (MTBignumImpl *)a;
|
||||||
return BN_rshift1(resultImpl->_value, aImpl->_value);
|
return BN_rshift1(resultImpl->_value, aImpl->_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,10 +328,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
MTBignumContextImpl *context = [[MTBignumContextImpl alloc] init];
|
MTBignumContextImpl *context = [[MTBignumContextImpl alloc] init];
|
||||||
|
|
||||||
MTBignumImpl *a = [context create];
|
MTBignumImpl *a = (MTBignumImpl *)[context create];
|
||||||
[context assignBinTo:a value:data];
|
[context assignBinTo:a value:data];
|
||||||
|
|
||||||
MTBignumImpl *r = [context create];
|
MTBignumImpl *r = (MTBignumImpl *)[context create];
|
||||||
[context modExpInto:r a:a b:[context rsaGetE:rsaKey] mod:[context rsaGetN:rsaKey]];
|
[context modExpInto:r a:a b:[context rsaGetE:rsaKey] mod:[context rsaGetN:rsaKey]];
|
||||||
|
|
||||||
return [context getBin:r];
|
return [context getBin:r];
|
||||||
@ -388,7 +388,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
BN_mod_exp(r, a, RSA_get0_e(rsaKey), RSA_get0_n(rsaKey), ctx);
|
BN_mod_exp(r, a, RSA_get0_e(rsaKey), RSA_get0_n(rsaKey), ctx);
|
||||||
|
|
||||||
unsigned char *res = malloc((size_t)BN_num_bytes(r));
|
unsigned char *res = malloc((size_t)BN_num_bytes(r));
|
||||||
int resLen = BN_bn2bin(r, res);
|
int resLen = (int)(BN_bn2bin(r, res));
|
||||||
|
|
||||||
BN_CTX_free(ctx);
|
BN_CTX_free(ctx);
|
||||||
BN_free(a);
|
BN_free(a);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user