Merge lp:~kissiel/checkbox/password-dialog into lp:checkbox
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Zygmunt Krynicki | ||||
Approved revision: | 3597 | ||||
Merged at revision: | 3768 | ||||
Proposed branch: | lp:~kissiel/checkbox/password-dialog | ||||
Merge into: | lp:checkbox | ||||
Diff against target: |
473 lines (+358/-24) 5 files modified
checkbox-touch/components/CheckboxTouchApplication.qml (+5/-0) checkbox-touch/components/PasswordDialog.qml (+88/-0) checkbox-touch/main.qml (+51/-22) checkbox-touch/py/checkbox_touch.py (+30/-2) checkbox-touch/py/sudo_with_pass_ctrl.py (+184/-0) |
||||
To merge this branch: | bzr merge lp:~kissiel/checkbox/password-dialog | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Zygmunt Krynicki (community) | Approve | ||
Review via email: mp+249700@code.launchpad.net |
Description of the change
This MR teaches Checkbox-Touch how to run jobs as different user (root usually)
Sequence of running jobs as different user in CBT is as follows:
When Checkbox-Touch session is started, CheckboxTouchAp
given list of controllers that can be used for job execution. One of the
controllers is TouchRootViaSud
controller one must provide callable that will be used when executing sudo.
The reason we're defferring password polling is that we don't yet know if
password will be needed (for instance all selected jobs run as current user).
Once the session is started, Checkbox-Touch checks every job if job requires
user change. If that's the case, it displays QML password prompt and sends
entered password to CheckboxTouchAp
password-returning callable can provide controller with the pass.
It's crucial that password is stored in CheckboxTouchAp
execution of any sudo-related job.
d8fd76d checkbox-touch: make checkbox-touch ask for password
09258d7 checkbox-touch: add rememberPassword to App component on QML side
8ca815e checkbox-touch: use custom execution controllers
125b4c9 checkbox-touch: add storing of password in CheckboxTouchAp
c1eba56 checkbox-touch: add PasswordDialog
a08900e checkbox-touch: add RootViaSudoWith
2355c3d checkbox-touch: move perform*Test calls to distinctive function
8437551 checkbox-touch: add job's user field to 'test' model
On piątek, 13 lutego 2015 19:45:30 CET, Maciej Kisielewski wrote: /code.launchpad .net/~kissiel/ checkbox/ password- dialog/ +merge/ 249700 plication instance is oExecutionContr oller. To instantiate this
> Maciej Kisielewski has proposed merging
> lp:~kissiel/checkbox/password-dialog into lp:checkbox.
>
> Requested reviews:
> Checkbox Developers (checkbox-dev)
>
> For more details, see:
> https:/
>
> This MR teaches Checkbox-Touch how to run jobs as different
> user (root usually)
>
> Sequence of running jobs as different user in CBT is as follows:
> When Checkbox-Touch session is started,
> CheckboxTouchAp
> given list of controllers that can be used for job execution. One of the
> controllers is TouchRootViaSud
> controller one must provide callable that will be used when executing sudo.
> The reason we're defferring password polling is that we don't yet know if
> password will be needed (for instance all selected jobs run as
> current user).
There is an existing, better mechanism for doing this, namely voting. Keep
this execution controller focused on just running root jobs
> Once the session is started, Checkbox-Touch checks every job if plication instance, so the plication prior to plication PassExecutionCo ntroller
> job requires
> user change. If that's the case, it displays QML password prompt and sends
> entered password to CheckboxTouchAp
> password-returning callable can provide controller with the pass.
> It's crucial that password is stored in CheckboxTouchAp
> execution of any sudo-related job.
>
> d8fd76d checkbox-touch: make checkbox-touch ask for password
> 09258d7 checkbox-touch: add rememberPassword to App component on QML side
> 8ca815e checkbox-touch: use custom execution controllers
> 125b4c9 checkbox-touch: add storing of password in CheckboxTouchAp
> c1eba56 checkbox-touch: add PasswordDialog
> a08900e checkbox-touch: add RootViaSudoWith
> 2355c3d checkbox-touch: move perform*Test calls to distinctive function
> 8437551 checkbox-touch: add job's user field to 'test' model
>
Ill read the rest later
Thanks for posting this
ZK
--
Sent using Dekko from my Ubuntu device