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

Spoof secureProfile boolean to true if online mode true #3702

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Outfluencer
Copy link
Collaborator

https://outfluencer.dev/secure-chat-popup-1.21.png

This field was added in 1.20.5 if its value is false the client will show a popup that we don't like

@andreasdc
Copy link

What's that popup?

@md-5
Copy link
Member

md-5 commented Jun 25, 2024

Should the server not set this if bungee/ip forwarding is true, so it can actually be sure chat is secure?

@Outfluencer
Copy link
Collaborator Author

Should the server not set this if bungee/ip forwarding is true, so it can actually be sure chat is secure?

Actually i do check for it as

rewriteId = ( bungee.config.isIpForward() ) ? uniqueId : offlineId;

I think the comment may be confusing

@Outfluencer
Copy link
Collaborator Author

Outfluencer commented Jun 27, 2024

What's that popup?

the popup shows when the client receives a login packet where secureProfile is false

It indicates that chat messages are not signed

@andreasdc
Copy link

What's that popup?

the popup shows when the client receives a login packet where secureProfile is false

It indicates that chat messages are not signed

This one?
image
Is it only fixable on online mode servers?

@Outfluencer
Copy link
Collaborator Author

yes
i have send a screenshot here:

https://outfluencer.dev/secure-chat-popup-1.21.png

This field was added in 1.20.5 if its value is false the client will show a popup that we don't like

@Outfluencer
Copy link
Collaborator Author

Outfluencer commented Jun 27, 2024

Is it only fixable on online mode servers?

yes only on online mode true

if you try to fix it on cracked you will get this:

image

The popup is gone but you can't chat anymore

@Outfluencer
Copy link
Collaborator Author

Outfluencer commented Jun 27, 2024

but theoretically its also fixable i will try it
we would need to read the player chat messages send from the server and make them to a normal message
You can do this easy with an bukkit plugin for example

@md-5
Copy link
Member

md-5 commented Jul 22, 2024

Shouldn't it also depend on whether the server has secure chat enabled?

@Outfluencer
Copy link
Collaborator Author

Shouldn't it also depend on whether the server has secure chat enabled?

in both cases enabled or not we want to set it to true so we get rid of the popup, it also should work every time if we are an online player.

thats why i am checking if the players uuid is not the offline uuid (if its not the offline uuid it surely is the premium uuid)

@md-5
Copy link
Member

md-5 commented Jul 22, 2024

Well we don't want to get rid of the popup unless the chat is actually secure.

Isn't this really a Spigot issue?

@Outfluencer
Copy link
Collaborator Author

i think the most servers have disabled secure chat and dont like the popup

@Janmm14
Copy link
Contributor

Janmm14 commented Jul 22, 2024

i think the most servers have disabled secure chat and dont like the popup

As you noticed from md_5's earlier replies he intends to keep bungeecord close to vanilla behaviour. If server owners want to get rid of the popup, they can do it themself with plugins.

@andreasdc
Copy link

What if entity rewriting is disabled?

@Janmm14
Copy link
Contributor

Janmm14 commented Aug 28, 2024

This is completely unrelated to entity rewriting.

@andreasdc
Copy link

andreasdc commented Aug 31, 2024

This is completely unrelated to entity rewriting.

It is a little bit, there's no rewriteId.

if ( !con.getRewriteId().equals( con.getPendingConnection().getOfflineId() ) )

        if ( !con.getRewriteId().equals( con.getPendingConnection().getOfflineId() ) )

@Outfluencer
Copy link
Collaborator Author

This is completely unrelated to entity rewriting.

It is a little bit, there's no rewriteId.

if ( !con.getRewriteId().equals( con.getPendingConnection().getOfflineId() ) )

        if ( !con.getRewriteId().equals( con.getPendingConnection().getOfflineId() ) )

no not really, this is just a simplification with the use of the rewritte id because its their.

Bassicly does what the comment in the code said

// check if the players connection is ip-forwarded, spoof value to true to bypass the unsecure chat popup

And that has nothing todo with entity rewritting

@andreasdc
Copy link

This is completely unrelated to entity rewriting.

It is a little bit, there's no rewriteId.

if ( !con.getRewriteId().equals( con.getPendingConnection().getOfflineId() ) )

        if ( !con.getRewriteId().equals( con.getPendingConnection().getOfflineId() ) )

no not really, this is just a simplification with the use of the rewritte id because its their.

Bassicly does what the comment in the code said

// check if the players connection is ip-forwarded, spoof value to true to bypass the unsecure chat popup

And that has nothing todo with entity rewritting

Without entity rewriting you can't check this id

@Outfluencer
Copy link
Collaborator Author

wrong

@andreasdc
Copy link

wrong

If it's deleted then it is right

@Outfluencer
Copy link
Collaborator Author

wrong

If it's deleted then it is right

no

@Outfluencer
Copy link
Collaborator Author

Outfluencer commented Aug 31, 2024

its a single field in the initial hanlder, it does not depend on any entity rewritter at all

@andreasdc
Copy link

its a single field in the initial hanlder, it nots depends on any entity rewritter at all

Ok I will add this back and test the patch

@andreasdc
Copy link

Patch works well, the popup window doesn't appear again, sorry for my lack of knowledge about this rewriteId.

if you try to fix it on cracked you will get this:

You get this for unvalidated messages right, it it's a message sent by the server it doesn't happen? What if you delete the uuid field or something like that? Or does it have to be special chat packet?

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

Successfully merging this pull request may close these issues.

4 participants