andrew-bibb / cmst

QT GUI for Connman
174 stars 37 forks source link

Possibility to view/change (edit) wireless network properties (e.g. passphrase) ? #202

Closed Tormen closed 2 years ago

Tormen commented 5 years ago

Hi Andrew,

it would be really useful to be able to change also wireless connection specific settings. I would search for them on the Wireless tab. But one could also imagine this via "configuration" button on the Details tab.

So basically all the settings that one gets presented when first connecting to a wireless network.

Or is this already possible and I missed something ?

Thanks a lot!

Tormen

andrew-bibb commented 5 years ago

Properties of services provisioned by ConnMan cannot be edited using CMST. This includes WiFI services where our agent was used to prompt for passphrase, etc. If all you want to do is set a new passphase for an existing service what you need to do is use the "Remove" button on the WiFi tab for that service. That removes the "favorite" property from the service, but the service will still exist. After "Remove" completes (the icon in the favorite column should go away) then hit "Connect" and you should be prompted for a new passphrase for the service.

CMST will allow you to edit any service provisioning file that was created from scratch using the Provisioning editor (under Advanced settings). For security you can only edit provisioning files created by CMST using the Provisioning editor, not files created by any other means including by ConnMan.

Tormen commented 5 years ago

Hun. OK. I am a bit confused :)

Because when I connect to a wireless network I use cmst and go on the wireless tab and hit "connect" there. So you're saying the screen that appears when I do that was not provided by cmst ?

andrew-bibb commented 5 years ago

When you hit the connect button the dialog that pops up requesting information is our agent that is communicating with Connman behind the scenes. Whatever you type in there is fed to Connman which actually provisions the service.

The advanced options provisioning editor is a way of providing the information needed to provision a service without using the Connman internal code to do it. It is a feature only useful to a handful of very advanced users, and you have to know exactly what information to provide.

Tormen commented 5 years ago

First off: Thanks a lot for having this discussion here with me!!! - really grateful!!! - Thanks !!!! :)))

Sorry, but I need to play the /user/ here: So I am using cmst (Connman systray). There is an agent communicating with Connman collecting wifi credentials. And connman is storing them under /var/lib/connman And you are saying that I /can/ create a wireless profile (through an agent that cmst provides), but cmst can't help me edit the info provided there, correct? ... That seems awfully twisted, non? ;) :)

Back to being "me" the advanced user (: I would actually be fine viewing / editing the /var/lib/connman stored file ... the only thing it would be nice if I could do that through cmst.

Is there a technical limitation (connman API?) that prevents you from providing a way to edit the connman stored wireless profiles ?

andrew-bibb commented 5 years ago

And you are saying that I /can/ create a wireless profile (through an agent that cmst provides), but cmst can't help me edit the info provided there, correct?

That is correct. The agent only collects information on behalf of Connman. Connman then creates the provisioning file using that information. There was actually an issue about the security aspects of this on the tracker way back when, here is the link: https://github.com/andrew-bibb/cmst/issues/35

I would actually be fine viewing / editing the /var/lib/connman stored file ... the only thing it would be nice if I could do that through cmst.

/var/lib/connman is owned by root and it is not recommended. Of course you are free to do what you want on your own system.

Is there a technical limitation (connman API?) that prevents you from providing a way to edit the connman stored wireless profiles ?

Nothing specific to Connman, As described in issue #35 (linked above) I actually had that "feature" at one time due to ignorance.

andrew-bibb commented 5 years ago

Revisiting this, I may have been making it too difficult. There is a mechanism implemented to change certain service properties. On the "details" tab (second tab) lower right corner there is a button marked "configuration". From that you can change some properties of the connection, for instance the auto connect, name servers and time servers, certain ipv4 and ipv6 settings. Basically any property marked "readwrite" by Connman can be changed and we provide a dialog to do that. The "favorite" property however is read only in Connman so the only way to change that is as I mentioned in my first post, in the WiFi tab remove the service then connect again.

andrew-bibb commented 2 years ago

This is going to be closed with an upload momentarily. Not exactly what you want as Connman provides no method to retrieve credentials, passphrases, etc. This is a security measure as there is no way to ensure the person running Connman at any particular moment has the permissions to view and edit these items. An edit button has been added but all it really does is run Remove and then Connect in sequence.