pidgin/pidgin

Port wincred keyring to PurpleCredentialManager

2021-01-30, Elliott Sales de Andrade
548fed625b8a
Port wincred keyring to PurpleCredentialManager

* Inline PURPLE_PLUGIN_INIT in wincred.
* Add skeleton of wincred PurpleCredentialProvider object.
* Implement password reading.
* Implement wincred password writing.
* Implement wincred password clearing.
* Autoload wincred keyring plugin.
* Cleanup formatting.

Testing Done:
Added XMPP account, saved password, disabled and re-enabled account which kept the password. Restarted Pidgin and password was still saved. Removed XMPP account, and password was deleted from Credential Manager.

I'm not sure that the password needs to be converted from UTF-8 to "Unicode", as I did not test modifying the password in Credential Manager.

Bugs closed: PIDGIN-17489

Reviewed at https://reviews.imfreedom.org/r/466/
---
id: im.pidgin.Pidgin3
runtime: org.gnome.Platform
runtime-version: '3.36'
sdk: org.gnome.Sdk
command: pidgin3
finish-args:
- --share=ipc
- --socket=fallback-x11
- --share=network
- --socket=pulseaudio
- --talk-name=org.freedesktop.Notifications
- --system-talk-name=org.freedesktop.Avahi
modules:
- packaging/flatpak/libpurple-common.yml
- packaging/flatpak/talkatu.yml
- name: pidgin3
buildsystem: meson
config-opts:
- -Dconsoleui=false
- -Ddoc=false
sources:
- type: dir
path: '.'