Livio_ has quit [Ping timeout: 240 seconds]
Livio_ has joined #maemo-leste
Livio_ has quit [Ping timeout: 240 seconds]
joerg has quit [Ping timeout: 240 seconds]
joerg has joined #maemo-leste
Twig has joined #maemo-leste
vgratian has left #maemo-leste [#maemo-leste]
xmn has quit [Quit: ZZZzzz…]
<freemangordon> Wizzup: I know you are not fan of google, but there are people (like me) who use google services.
<freemangordon> the point is - shall we register maemo-leste google user
<freemangordon> and have all the oauth2 tokens issued to that user
_uvos_ has joined #maemo-leste
<DaKnig> why do you need a google user for that
<freemangordon> DaKnig: how to access google developer site without account?
<freemangordon> DaKnig: if you can help with that, please do, I have zero experience with google APIs etc
<freemangordon> but, OAuth2 requires application (client) ID to be send
<DaKnig> android but still
<freemangordon> what is this?
<DaKnig> oh idk
<DaKnig> otp program sorry not sure its relevant
<freemangordon> DaKnig: oh, no, it is not
<freemangordon> OAuth2 is another story
<freemangordon> it replaces plain password authentication
<DaKnig> what's that
<DaKnig> well this program does it too
<freemangordon> ok, but first - we need it to run on leste
<freemangordon> also, we have to identify different programs - like telepathy-gabble and modest
vgratian has joined #maemo-leste
<DaKnig> the point is you can use open source software to generate those tokens
<DaKnig> you can see the source
<freemangordon> no, these tokens must be created by google
<freemangordon> when you want to access google services
<DaKnig> well yes
<DaKnig> what's hosted on google?
<freemangordon> xmpp, imap
<freemangordon> since yesterday both google-talk and gmail return "Not AUthorised" when you want to authenticate with plain password
<freemangordon> which is expected as they said this will stop working on 30th of May
<_uvos_> here in ger
<_uvos_> osm data is way way better
<_uvos_> btw
<_uvos_> its just that the osm webapplication is bad and dosent allow you to see everything
<_uvos_> android osmand is extreamly good
<_uvos_> gmapps is almost impossible to use for me
<_uvos_> because the mappdata dosent know the difference between a kraftfahrtstrasse and a simple bundesstrasse
<_uvos_> and my vehicle cand go on one of those ;)
<_uvos_> just food for tought
<_uvos_> *cant
norayr has left #maemo-leste [Error from remote client]
<freemangordon> _uvos_: my questions was rather "what navigation provider services shall I implement first" :)
<freemangordon> in context of https://github.com/maemo-leste/libnavigation
<freemangordon> I shall create something similar to https://github.com/community-ssu/nokiamaps-navigation-provider
_uvos_ has quit [Ping timeout: 256 seconds]
Pali has joined #maemo-leste
Livio_ has joined #maemo-leste
<Wizzup> freemangordon: I wasn't saying anything about what services not to use, I just said that osm seems like a good provider :)
<Pali> Hi! I have experience with xoauth2, I implemented this nonsense last weekend.
<Pali> I implemented it for imap client.
Livio_ has quit [Ping timeout: 248 seconds]
Livio_ has joined #maemo-leste
<freemangordon> Pali: great
<freemangordon> could you help with modest when it comes to it?
<freemangordon> I plan to use Qt
<Pali> You need to send at $xoauth2_request_url (https://accounts.google.com/o/oauth2/token) POST FORM with client_id, client_secret, refresh_token and grant_type
<Pali> grant_type is string 'refresh_token'
<Pali> all other values are secret keys (generated by google console)
<freemangordon> I did oauth2 for facebook back then
pere has quit [Ping timeout: 276 seconds]
<Pali> That HTTPS request returns JSON like { "access_token" : "..." }
<freemangordon> yeah
<freemangordon> I am trying to find my code
<Pali> And this access_token you need to put into IMAP session into command: AUTHENTICATE XOAUTH2 encode_base64("user=$user\x01auth=Bearer $xoauth2_access_token\x01\x01")
<Pali> And that is all.
<freemangordon> the fuck!!! we already had that :( https://github.com/community-ssu/rtcom-accounts-plugin-jabber
<freemangordon> well...
<Pali> In past I implemented it also in Qt/KDE4 for Kopete XMPP client: https://github.com/KDE/kopete/commit/3bff188483fd2ee01bb8310a511e8cc9a4808d22
<Pali> But this is 6 years old code...
<freemangordon> Pali: what about using stuff like libgsignon-glib
<Pali> I do not know this library.
<Pali> You need XOATUH2 Bearer auth
<Pali> Not auth1
<freemangordon> yeah, we need oauth2
<Pali> and for IMAP you need Bearer, not basic oatuh2
<freemangordon> whatever it is :)
<Pali> If you look at my imap-fetcher code, implementation is really simple, so I think it would be easier to implement it (like I did) instead of using 3rd library and hooking it into project
<freemangordon> Pali: we still need UI
<Pali> You need just one HTTPs request for retrieving access token from refresh token
<Pali> Yes! You need UI for setting all those private keys
<freemangordon> hmm, what?
<freemangordon> we need UI to embed browser into
<freemangordon> unless I am missing something
<Pali> Nope, this is browser-less.
<freemangordon> how's that?
<freemangordon> seems I lack the knowledge
<Pali> Well, you need browser for generating refresh token
<freemangordon> yep, on the first login with user/pass
<Pali> but refresh token has infinite lifetime.
<Wizzup> are we talking just modest or supporting it in many places?
<freemangordon> you login into google page accepting TC and whatnot
<freemangordon> Wizzup: may places
<freemangordon> *many
<Pali> I generated refresh token via google's python script (which wants me to open URI in browser)
<freemangordon> and modest/TP being clients
<freemangordon> Pali: well, we can use the scheme for TV sets, but I don;t think that's user friendly
<Pali> and then I put refresh token into config file... and then my imap-fetcher can generate access token for login fully automatically
<freemangordon> given that we *have* browser :)
<freemangordon> I think we shall create centralized oauth service available to everybody on the system
<Pali> Hm... this is probaby harder to implement. I did not try it.
<freemangordon> a dbus service in Qt shall do it
<freemangordon> and then modest or whatever just asks for the token and leaves the service to do whatever is needed
<freemangordon> well, we shall provide oauth URL along with user/pass
<freemangordon> unless oauth has a mechanism to provide that to clients
<Pali> you still need to ask for client_id and client_secret
<Pali> This is private info.
<freemangordon> but it is private to the application, no?
<Wizzup> something like this surely must exist in foss desktop already
<Pali> Yes! Either you create closed-source application with bundled those keys
<freemangordon> UUIC, you register the application with google and you receive application id (client_id?)
<Pali> Or you create open-source application but then you cannot distribute these private data.
<Pali> You register application in google console and you will get from google client_id and client_secret.
<freemangordon> And I am not allowed to show those in public?
<freemangordon> this is crazy
<Pali> Yes!
<freemangordon> yeah, security by obscurity at its finest :(
<Pali> It is 2022, open-source is not more allowed in google
<Pali> So now, everybody has to register its own application to get those private keys.
<freemangordon> but wait, how is that secret given that it is embedded in the code even if it is closed source
<Pali> All this xoauth2 nonsense is just to elimitate open source apps
<Pali> it is regulation from google that you must keep this secret in your (EXE) binary application, e.g. by obfuscation.
<freemangordon> ah, I see
<Pali> If you want to register your application on google with full access to your account, then part of the registraction is google verification.
<freemangordon> well, if it is obfuscated in the source, isn;t it the same?
<Pali> You has to prepare video on youtube, put link to that video into verification form. And in your video you had to explain why it is secure!
<Pali> IIRC all this you had to explain that youtube video and if google thinks it is is not enough, you would not get access to _full account_.
<freemangordon> what is "full account"?
<Pali> If you are registering application, there are lot of levels for access... E.g. only XMPP, only some subset of HTTP api, or IMAP, or everything = full access
<freemangordon> well, we need xmpp and imap so far
<freemangordon> I give a shit about adds API or whatever
<Pali> And some APIs are marked as _restricted_ which needs this special google verification for approval.
<freemangordon> maybe we'll need maps @ some point, if it is free for use at all
<Pali> IMAP API is already marked as restricted and needs some verification.
<Pali> Yesterday I enabled something and it allowed me at least to generate some TV token.
<Pali> As I said, this xoauth2 nonsense is there just for eliminating open sourcre applications.
<Pali> google do not want other people to access google's service via unverified applications.
<freemangordon> well, that's not the same as "they don;t want FOSS" :)
<Pali> ok, lets say they do not want applications which are not under their control... but for me such application is not FOSS anymore.
vgratian has left #maemo-leste [#maemo-leste]
<bencoh> you can still use regular auth with google, as long as you create an application password, btw
<bencoh> (I had to do that at $job)
<Pali> Only in case you enable 2FA on your account for which you need google application or another nonsense for login
<bencoh> hmm, I don't think so
<Pali> I was not able to enable application password support without 2FA and random people on internet confirmed this.
<bencoh> I mean, they eventually forced us to enable 2FA here, but it's not used for 3rd-party applications (imap client in my case)
<freemangordon> I wonder how thunderbird manages to do it
<bencoh> I only need to use 2FA once in a while to login to their website, and then I just receive a short message on my phone
<bencoh> I have no android/ios app whatsoever anyway
<freemangordon> I have no android phone, neither I have 2FA enabled
<Pali> thunderbird passed verification process and EXE binary contains private keys
<freemangordon> so, we'll do the same
<freemangordon> I don;t think it is bad that google will audit our application
<bencoh> it's bad if it is mandatory
<bencoh> it's not bad per-se
<freemangordon> well...
<freemangordon> noone forces us to use their services ;)
<bencoh> sure, but ... :)
<freemangordon> yeah...
<Pali> I wrote some info about XMPP years ago: https://www.mail-archive.com/kopete-devel@kde.org/msg17537.html
<bencoh> (tbh I only have a professional account at $job, I have been living without a personal google account for .... forever)
<Pali> I have personal account in download mode as still I receive some email on it. But I'm not using it (activelly) anymore.
<bencoh> (oh actually I had one at some point, but lost the password :D)
<bencoh> (even forgot about it)
<Pali> It does not matter, you cannot use that lost password for loggin anymore :P
<bencoh> :]
<freemangordon> umm, you can. in the web interface
<Pali> but none of my scripts use web interface
<freemangordon> well, yah
<freemangordon> *yeah
<freemangordon> we have signond available on leste
<freemangordon> so I guess this is the correct route
<freemangordon> yeah, right
<freemangordon> client_id/client_secure of thinderbird seems to be in modules/OAuth2Providers.jsm
<freemangordon> this is in omni.ja
<freemangordon> and it is in clear text
<Pali> WUT? secret keys are leaked?
<Pali> Can you paste it here? :-)
<freemangordon> what do you mean
<freemangordon> just unzip omni.ja
<freemangordon> and open modules/OAuth2Providers.jsm
<freemangordon> well, I am not 100% sure, but it *looks* like client_id/client_secure
<freemangordon> how is that obfuscated?
<Pali> first line has format of client id
<freemangordon> obviously it is
<Pali> second line does not look like client secret, or at least my secret is longer
<freemangordon> well, just try those and see what will happen
<freemangordon> but I would bet the second line is the clear secret
<freemangordon> or obfuscated by XOR-ing or somesuch
<Pali> It is working!
<freemangordon> sure, why noit
<freemangordon> *not
<freemangordon> all the oauth2 apps I did RE bac then (maps provide, facebook sharing, etc) had id/secret in clear form embedded in the code
<Pali> $ git clone https://github.com/google/gmail-oauth2-tools && cd gmail-oauth2-tools && python2 python/oauth2.py --generate_oauth2_token --client_id="406964657835-aq8lmia8j95dhl1a2bvharmfk3t1hgqj.apps.googleusercontent.com" --client_secret="kSmqreRr0qwBWJgbf5Y-PjSU" --scope=https://mail.google.com/
<Pali> I received refresh token via URI auth
<freemangordon> ok, but I don;t want leste to use thunderbird id/secret
<freemangordon> leste == telepathy-gabble, modest
<freemangordon> so I am going to register those
<Pali> for own scripts it is easier than registering own keys
<freemangordon> yeah
<freemangordon> still, the main question was whether to develop our own FW or to use something existing
<freemangordon> for now I am going to try signond
<Pali> anyway, this is against google verification policy if secret key is publicly available
<Pali> I'm not sure if google accept this for small application like modest
<freemangordon> well, I wouldn;t call thunderbird small
<freemangordon> also, you can *never* keep any key secret, unless you have HSM
<Pali> I know, but google probably not
<freemangordon> well..
<freemangordon> I doubt they are *that* stupid or ignorant
<Pali> thunderbird is not small, so maybe they have exception... but small apps would not get exception
<freemangordon> we'll see
<freemangordon> also, I will make it as secure as possible
<freemangordon> like XOR-obfuscating in source code :D
<freemangordon> Pali: I would say all this is not because of FOSS, but becasue of script-kiddies
<Pali> look for example at https://faircode.eu/faq.html
<Pali> google is actively fighting
<Pali> Gravatars and Libravatars are now marked as spyware
<Pali> They just do not want to see new email client apps
<freemangordon> Pali: well, if what is said in the "issues" section is true, I don't want this application anyways :)
<freemangordon> "your application is uploading..."
<Pali> it is bullshit
<freemangordon> what do you mean?
<freemangordon> does it upload contacts or not?
<Pali> It is marked as spyware for no reason.
<freemangordon> Pali: it could be marked as spyware because it uploads user information without user being appropriately informed about that. Maybe "spyware" is not the correct term here, but still, if contacts are being uploaded to some site, then I would have to agree with google
<Pali> it is using gravatar to retrive public avatar about user from public web
<freemangordon> that does not make it any different
<freemangordon> I am not saying the application is doing bad things
<freemangordon> but, if it sends user data over the internet without the user being informed about that, it is not ok
<Pali> it is downloading, not sending
<freemangordon> how's that? how it knows what to download?
<freemangordon> it sends some user id to gravater, no?
<freemangordon> maybe the real name of the user
<freemangordon> also, the issue is "without an adequate disclosure"
<freemangordon> how hard is for developer to explain to the users what data is being send, where and what for?
<humpelstilzchen[> MD5 hash of email addresses
<humpelstilzchen[> If Gravatars are enabled, upon receiving a message (GitHub version only)
<freemangordon> humpelstilzchen[: do you say that after I install application from appstore, I shall open its github project and look into the source/readme about what it is doing?
<humpelstilzchen[> The year 2002 wants its md5 back. But it says if gravatar is enabled, so not default
pere has joined #maemo-leste
<freemangordon> IIUC, google are trying to cover their asses in terms of GDPR, for example
<humpelstilzchen[> freemangordon: no, I was not writing that. I just believe there is a difference between "The app always sends all e-mail addresses to gravatar" and "The app sends the e-mail addresses to gravatar AFTER I told it to do that."
<humpelstilzchen[> Also with e.g. youtube we see a lot false "something" claims from google that just came from some automatic algorithm. but this is more the politics area..
<freemangordon> well, I havent's seen the application in question, neither I know google's audit process, but the issues seem to come from human ticking some boxes
<freemangordon> and still, the issue seems to be that application does not provide enoug information to the user about what it is doing
<freemangordon> not the data that is send or something similar
<freemangordon> and no doubt, it is politics
<freemangordon> but they are in position to say "take it or leave it"
Livio_ has quit [Ping timeout: 240 seconds]
<humpelstilzchen[> "I use FairEmail so I just checked: Display Favicons is disabled by default and there's a note below the setting that says "there might be a privacy risk" and links to https://en.wikipedia.org/wiki/Favicon"
<humpelstilzchen[> * from hn: "I use
<freemangordon> humpelstilzchen[: seems the whole issue was about google not explaining what exactly is wrong
<freemangordon> this is bad, no doubt
<freemangordon> also, nor modest neither telepathy-gabble will appear in playstore soon :D
<freemangordon> also, keep in mind FB blocked my developer account ~1- years ago without any explanation, despite me asking them lots of times
<humpelstilzchen[> google can basically do what they want on their platform. I'm ok with that, I feel just sorry for the author. Waste of time and power.
<freemangordon> so I know how it feels like
<freemangordon> ~10 years
<freemangordon> yep, agree
raub has quit [Quit: Leaving.]
Livio_ has joined #maemo-leste
vgratian has joined #maemo-leste
Livio_ has quit [Ping timeout: 248 seconds]
norayr has joined #maemo-leste
Guest5196 has quit [Remote host closed the connection]
Danct12 has joined #maemo-leste
mardy has joined #maemo-leste
Pali has quit [Ping timeout: 246 seconds]
Livio_ has joined #maemo-leste
belcher has joined #maemo-leste
Pali has joined #maemo-leste
xmn has joined #maemo-leste
Livio_ has quit [Ping timeout: 246 seconds]
vgratian has left #maemo-leste [#maemo-leste]
elastic_dog has quit [Ping timeout: 248 seconds]
elastic_dog has joined #maemo-leste
vgratian has joined #maemo-leste
vagag has joined #maemo-leste
Livio_ has joined #maemo-leste
uvos has joined #maemo-leste
sunshavi has quit [Ping timeout: 276 seconds]
belcher has quit [Quit: Leaving]
Twig has quit [Ping timeout: 240 seconds]
pere has quit [Ping timeout: 240 seconds]
<Wizzup> I think the change in playback priority I will revert, that was not on purpose
Danct12 has quit [Remote host closed the connection]
<Wizzup> ah, wait
vagag has left #maemo-leste [Error from remote client]
Danct12 has joined #maemo-leste
Twig has joined #maemo-leste
<Wizzup> uvos: here are the sphone changes I made to make earpiece audio calls work: https://github.com/maemo-leste/sphone/commits/wip-routehack2 - it lacks the other things we discussed, like using datapipe filters to run the reg reset before calling pulse
<Wizzup> and it also currently lacks speakerphone+headphone register dumps
<Wizzup> I also had code somewhere to change the call from say earpiece to speakerphone using the pulse api from sphone, but that code wasn't working yet
Danct12 has quit [Quit: Quitting]
RedW has quit [Ping timeout: 255 seconds]
Danct12 has joined #maemo-leste
Danct12 has quit [Client Quit]
RedW has joined #maemo-leste
Danct12 has joined #maemo-leste
RedW has quit [Ping timeout: 255 seconds]
RedW has joined #maemo-leste
n900 has quit [Ping timeout: 260 seconds]
n900 has joined #maemo-leste
pere has joined #maemo-leste
Twig has quit [Ping timeout: 240 seconds]
mardy has quit [Quit: WeeChat 2.8]
<uvos> Wizzup: ok check
sunshavi has joined #maemo-leste
uvos has quit [Ping timeout: 272 seconds]
uvos has joined #maemo-leste
sunshavi has quit [Read error: Connection reset by peer]
sunshavi has joined #maemo-leste
Bratch has joined #maemo-leste
branon_ has joined #maemo-leste
tsaebdeleehwxis has joined #maemo-leste
DPA- has joined #maemo-leste
xmn_ has joined #maemo-leste
vgratian has left #maemo-leste [#maemo-leste]
xmn has quit [*.net *.split]
l_bratch has quit [*.net *.split]
sixwheeledbeast has quit [*.net *.split]
norayr has quit [*.net *.split]
luci[m] has quit [*.net *.split]
branon has quit [*.net *.split]
lel has quit [*.net *.split]
DPA has quit [*.net *.split]
lel has joined #maemo-leste
<Wizzup> uvos: tomorrow I will try to add headphone and speakerphone
<Wizzup> and if we can then get the triggers in the right order, the hack should mostly just work
luci[m] has joined #maemo-leste
tsaebdeleehwxis is now known as sixwheeledbeast
norayr has joined #maemo-leste
<Wizzup> tl;dr after june 16 2022, xmpp on google talk won't work
Pali has quit [Ping timeout: 248 seconds]
freemangordon has quit [Ping timeout: 258 seconds]
uvos has quit [Ping timeout: 248 seconds]
Livio_ has quit [Ping timeout: 256 seconds]