Automatic connections for amp-waver

Hi,

Kindly requesting the following automatic connections for my snap “amp-waver”:

network-observe
network-manager-observe
password-manager-service
process-control

Should any further info be needed, please let me know. Source code available on launchpad

Thanks in advance

Hi @ppeter

Can you please describe what each of these interfaces is used for by your snap?

Note password-manager-service is quite privileged as it exposes access to all other passwords within the user’s keyring and so is not normally granted auto-connect unless this is explicitly used as a primary function of the snap (ie say a password manager snap etc). Also process-control is also privileged since it allows to control other processes on the host machine so this is not normally auto-connected either, again unless this is a primary function of a snap (ie. say a snap for top may be granted this as it is normal to use this to control other processes).

As such can you please expand on why these are required and particularly why these should be auto-connected for your snap?

Thanks

Hi @alexmurray

Thank you for the quick reply.

process-control: This was recommended by @ogra. It’s needed by the gstreamer audio decoder. Please see my forum question for more info.

network-observe and network-manager-observe: These are needed by Qt’s network-related classes. Without these, apparmor messages appear in syslog.

password-manager-service: My snap is a client for the Ampache open source media server. I’m using qtkeychain lib to securely store the Ampache servers’ password in GNOME Keyring or KWallet (whichever is available). qt5keychain is part of the official packages for many distros, example Ubuntu and Debian. Without this connection, user has to enter the password every time they open the app, which is cumbersome and just bad user experience.

Thanks

@ppeter - there is not enough detail in the other forum question regarding why process-control is needed - can you please detail what fails if this is not connected, and what (if any) error messages you see in syslog in this case?

Also for network-observe etc - do these apparmor messages indicate real failures or are they just noise? ie is this strictly necessary for your snap to function?

Finally, as password-manager-service provides access to all the passwords in the user’s keyring, this is a very privileged interface and as such unless the primary purpose of the snap is to say manage this keyring, then this is not suitable to be granted auto-connect. See this historical thread for more context and a suggestion as to how to prompt the user to connect this interface manually if this is desired. Request password-manager-service auto-connection for Storage Explorer

Hi @alexmurray

Thank you for the example on how to prompt the user on the password-manager-service interface connection! This is real good, I’ll make sure to include it in the next version.

I know I’m new here, but if I could make a suggestion, it would be extremely valuable to include something like “how to check” on the interfaces’ documentation page. Not a long explanation, just something quick, like “check the exit status of the following command to determine if the interface is connected or not: …” I think it would be very helpful for many developers.

As for the other interfaces; it’s true, the app works even without those interfaces being connected. Probably the Qt libraries fall back to other, non-privileged methods. Please disregard this store-request.

Thank you for your time.
Peter