mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-09-06 09:36:16 +00:00
Login edgecase fix
This commit is contained in:
parent
9986078582
commit
35dc186395
3 changed files with 8 additions and 6 deletions
|
@ -399,9 +399,11 @@ fun String.matchesDomain(queryDomain: String): Boolean {
|
||||||
|
|
||||||
fun String.getSubdomainWildcardQuery(): String {
|
fun String.getSubdomainWildcardQuery(): String {
|
||||||
val domainParts = this.split(".");
|
val domainParts = this.split(".");
|
||||||
val sldParts = "." + domainParts[domainParts.size - 2].lowercase() + "." + domainParts[domainParts.size - 1].lowercase();
|
var wildcardDomain = if(domainParts.size > 2)
|
||||||
if(slds.contains(sldParts))
|
"." + domainParts.drop(1).joinToString(".")
|
||||||
return "." + domainParts.drop(domainParts.size - 3).joinToString(".");
|
|
||||||
else
|
else
|
||||||
return "." + domainParts.drop(domainParts.size - 2).joinToString(".");
|
"." + domainParts.joinToString(".");
|
||||||
|
if(slds.contains(wildcardDomain.lowercase()))
|
||||||
|
"." + domainParts.joinToString(".");
|
||||||
|
return wildcardDomain;
|
||||||
}
|
}
|
|
@ -113,7 +113,7 @@ class LoginWebViewClient : WebViewClient {
|
||||||
//val domainParts = domain!!.split(".");
|
//val domainParts = domain!!.split(".");
|
||||||
//val cookieDomain = "." + domainParts.drop(domainParts.size - 2).joinToString(".");
|
//val cookieDomain = "." + domainParts.drop(domainParts.size - 2).joinToString(".");
|
||||||
val cookieDomain = domain!!.getSubdomainWildcardQuery();
|
val cookieDomain = domain!!.getSubdomainWildcardQuery();
|
||||||
if(_pluginConfig == null || _pluginConfig.allowUrls.any { it == "everywhere" || it.lowercase().matchesDomain(cookieDomain) })
|
if(_pluginConfig == null || _pluginConfig.allowUrls.any { it == "everywhere" || domain.matchesDomain(it) })
|
||||||
_authConfig.cookiesToFind?.let { cookiesToFind ->
|
_authConfig.cookiesToFind?.let { cookiesToFind ->
|
||||||
val cookies = cookieString.split(";");
|
val cookies = cookieString.split(";");
|
||||||
for(cookieStr in cookies) {
|
for(cookieStr in cookies) {
|
||||||
|
|
|
@ -67,7 +67,7 @@ class WebViewRequirementExtractor {
|
||||||
if(cookieString != null) {
|
if(cookieString != null) {
|
||||||
//val domainParts = domain!!.split(".");
|
//val domainParts = domain!!.split(".");
|
||||||
val cookieDomain = domain!!.getSubdomainWildcardQuery()//"." + domainParts.drop(domainParts.size - 2).joinToString(".");
|
val cookieDomain = domain!!.getSubdomainWildcardQuery()//"." + domainParts.drop(domainParts.size - 2).joinToString(".");
|
||||||
if(allowedUrls.any { it == "everywhere" || it.lowercase().matchesDomain(cookieDomain) })
|
if(allowedUrls.any { it == "everywhere" || domain.matchesDomain(it) })
|
||||||
cookiesToFind?.let { cookiesToFind ->
|
cookiesToFind?.let { cookiesToFind ->
|
||||||
val cookies = cookieString.split(";");
|
val cookies = cookieString.split(";");
|
||||||
for(cookieStr in cookies) {
|
for(cookieStr in cookies) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue