Add readme note to change app ID on android/ios to avoid installation conflict between modified versions and original classicube client, also fix SChannel SSL backend not compiling on some MinGW versions

This commit is contained in:
UnknownShadow200 2023-07-15 09:41:40 +10:00
parent b5f0076d46
commit 259147d6ef
2 changed files with 9 additions and 1 deletions

View File

@ -123,6 +123,8 @@ Although the regular linux compiliation flags will work fine, to take full advan
## Compiling - for Android ## Compiling - for Android
NOTE: If you are distributing a modified version, please change the package ID from `com.classicube.android.client` to something else - otherwise Android users won't be able to have both ClassiCube and your modified version installed at the same time on their Android device
##### Using Android Studio GUI ##### Using Android Studio GUI
Open `android` folder in Android Studio (TODO explain more detailed) Open `android` folder in Android Studio (TODO explain more detailed)
@ -135,6 +137,8 @@ Run `gradlew` in android folder (TODO explain more detailed)
iOS version will have issues as it's incomplete and only tested in iOS Simulator iOS version will have issues as it's incomplete and only tested in iOS Simulator
NOTE: If you are distributing a modified version, please change the bundle ID from `com.classicube.ios.client` to something else - otherwise iOS users won't be able to have both ClassiCube and your modified version installed at the same time on their iOS device
##### Using Xcode GUI ##### Using Xcode GUI
Import `ios/CCIOS.xcodeproj` project into Xcode (TODO explain more detailed) Import `ios/CCIOS.xcodeproj` project into Xcode (TODO explain more detailed)

View File

@ -89,11 +89,15 @@ struct SSLContext {
char incoming[TLS_MAX_PACKET_SIZE]; char incoming[TLS_MAX_PACKET_SIZE];
}; };
/* Undefined in older MinGW versions */
#define _SP_PROT_TLS1_1_CLIENT 0x00000200
#define _SP_PROT_TLS1_2_CLIENT 0x00000800
static SECURITY_STATUS SSL_CreateHandle(struct SSLContext* ctx) { static SECURITY_STATUS SSL_CreateHandle(struct SSLContext* ctx) {
SCHANNEL_CRED cred = { 0 }; SCHANNEL_CRED cred = { 0 };
cred.dwVersion = SCHANNEL_CRED_VERSION; cred.dwVersion = SCHANNEL_CRED_VERSION;
cred.dwFlags = SCH_CRED_NO_DEFAULT_CREDS | (_verifyCerts ? SCH_CRED_AUTO_CRED_VALIDATION : SCH_CRED_MANUAL_CRED_VALIDATION); cred.dwFlags = SCH_CRED_NO_DEFAULT_CREDS | (_verifyCerts ? SCH_CRED_AUTO_CRED_VALIDATION : SCH_CRED_MANUAL_CRED_VALIDATION);
cred.grbitEnabledProtocols = SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT; cred.grbitEnabledProtocols = SP_PROT_TLS1_CLIENT | _SP_PROT_TLS1_1_CLIENT | _SP_PROT_TLS1_2_CLIENT;
/* TODO: SCHANNEL_NAME_A ? */ /* TODO: SCHANNEL_NAME_A ? */
return FP_AcquireCredentialsHandleA(NULL, UNISP_NAME_A, SECPKG_CRED_OUTBOUND, NULL, return FP_AcquireCredentialsHandleA(NULL, UNISP_NAME_A, SECPKG_CRED_OUTBOUND, NULL,