torbenh@... writes:
> nedko and me came to the conclusion, that there are several reasons, why
> applications should be forbidden to make some connections.
>
> - lash session loading.
> - connection ACLs
> - application is dumb.
>
> in order to not clutter jack code, with several ideas of how to
> configure ACL or whatever, the solution seems to b a callback
> clients can register.
>
> bool
> veto_connection( char *client_requesting_connection, char *src_port, char *dst_port )
>
> control apps can register, and before actual connection is made, the
> callbacks are executed in the control apps which register.
>
> results are ORed and if its TRUE, then the connection is NOT made.
> i prefer the result of jack_connect to be SUCESS in this case, because
> dumb apps just close their jack client in case of connect failure.
>
> but this is easy to make configureable. i would like to not have an enum
> in the signature of the callback, because it makes the semantics much
> more complex. iE one control app says FAIL, the other says
> DONT_CONNECT_BUT_SUCCED... what to tell the app now ?
>
> of course care must be taken, about timeouts and stuff. but i think we
> have code for this already.
Disconnect veto is needed too.
Isn't single vetoer enough to solve current problems? If so, we can
avoid overeneneering and make veto_connection callback registration
succeed only once. I think the window manager approach in X11 is good
enough. User chooses one patchbay supervisor (vetoer) and expects
it to fulfil all his needs. At very minimum we should make single vetoer
default behaviour and provide an option to jack server that enables
multiple vetoers.
We need veto callback unregistration too.
--
Nedko Arnaudov <GnuPG KeyID: DE1716B0>
_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org