GSoC/2019/StatusReports/Shubham: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2019‎ | StatusReports
(GSoC Project Report)
(GSoC Project Report)
Line 3: Line 3:
== Work Report ==
== Work Report ==
'''1. Coding Month: May 27th - June 22nd'''
'''1. Coding Month: May 27th - June 22nd'''
Its been a great first month of Google Summer of Code for me. I was so excited that I had started writing code a week before the actual coding period started. First month as I had expected had been quite hectic and to add on it, my semester end examinations are also running. So I had to manage mt time efficiently which I believed have done great so far. Coming to the progress made during this period, I have done the following:
Its been a great first month of Google Summer of Code for me. I was so excited that I had started writing code a week before the actual coding period started. First month as I had expected had been quite hectic and to add on it, my semester end examinations are also running. So I had to manage my time efficiently which I believed have done great so far. Coming to the progress made during this period, I have done the following:


'''1.1 Implement PolkitQt1 Authorization backend:'''
'''1.1 Implement PolkitQt1 Authorization backend:'''
Line 22: Line 22:
'''3. Coding Month: July 26th - August 19th'''
'''3. Coding Month: July 26th - August 19th'''
== Link to my blog ==
== Link to my blog ==
https://coderunner99.github.io/
https://coderunner99.blogspot.com/
== Patches ==
== Patches ==
1. '''Implement PolkitQt1 Authorization backend'''
'''1. Implement PolkitQt1 Authorization backend'''


https://phabricator.kde.org/D21970
https://phabricator.kde.org/D21970


2. '''Scrap Public Key Cryptography code based on QCA as QDbus is secure enough'''
'''2. Scrap Public Key Cryptography code based on QCA as QDbus is secure enough'''


https://phabricator.kde.org/D21275
https://phabricator.kde.org/D21275


3. '''QDBus communication from helper towards Application'''
'''3. QDBus communication from helper towards Application'''


https://phabricator.kde.org/D21773
https://phabricator.kde.org/D21773

Revision as of 17:52, 26 June 2019

Port Authentication to Polkit-qt-1

KDE Partition Manager runs all the authentication or authorization protocols over KAuth (KDE Authentication), which is a tier 2 library from KDE Frameworks. In the current implementation of KDE Partition Manager, all the privileged tasks such as executing some external program like btrfs, sfdisk etc. Or copying a block of data from one partition to the other, which requires escalated permissions to execute are executed by a helper non GUI application. So, instead of running whole GUI application (KDE Partition Manager) as root or superuser, a helper non GUI application is spawned which runs as root and executes privileged tasks. This helper program communicates with KDE Partition Manager over simple DBus protocol. The current implementation may seem a good idea, but is not, the reason being that KAuth is an extra layer added over Polkit-qt which causes extra overhead. So, the proposal for this project is to port all the authentication/authorization code from KAuth to Polkit-qt without effecting the original behaviour of KDE Partition Manager.

Work Report

1. Coding Month: May 27th - June 22nd Its been a great first month of Google Summer of Code for me. I was so excited that I had started writing code a week before the actual coding period started. First month as I had expected had been quite hectic and to add on it, my semester end examinations are also running. So I had to manage my time efficiently which I believed have done great so far. Coming to the progress made during this period, I have done the following:

1.1 Implement PolkitQt1 Authorization backend:

Here I had aimed to implement the same Polkit back-end as the one implemented by KAuth currently. I had to replicate the same behaviour and just remove the mediator ie. KAuth from in between.

1.2 Scrap Public Key Cryptography code based on QCA as QDbus is secure enough:

QDbus already provides enough security to the calls made by the application to the helper. Hence no need to encrypt, sign the requests of the application and verify their integrity at the helper side.

1.3 Establish QDBus communication from helper towards Application:

Previously the Application to Helper communication was done through QDBus session and Helper to Application was done via KAuth. In this task, I had aimed to remove KAuth and establish QDbus mode of communication here as well. I have linked the patches to the above tasks below in "Patches" section.

2. Coding Month: June 28th - July 22nd

3. Coding Month: July 26th - August 19th

Link to my blog

https://coderunner99.blogspot.com/

Patches

1. Implement PolkitQt1 Authorization backend

https://phabricator.kde.org/D21970

2. Scrap Public Key Cryptography code based on QCA as QDbus is secure enough

https://phabricator.kde.org/D21275

3. QDBus communication from helper towards Application

https://phabricator.kde.org/D21773

Git Branch

https://cgit.kde.org/kpmcore.git/?h=auth-polkit-qt1

Contact Me

Email: [email protected]

IRC: shubham1000

Github Profile: https://github.com/Shubham-100