13:01:42 #startmeeting meeting 13:01:42 Meeting started Mon Apr 10 13:01:42 2017 UTC. The chair is mvollmer. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:01:42 Useful Commands: #action #agreed #halp #info #idea #link #topic. 13:01:42 The meeting name has been set to 'meeting' 13:01:47 .hello mvo 13:01:47 mvollmer: mvo 'Marius Vollmer' 13:02:13 .hello garrett 13:02:14 garrett: garrett 'Garrett LeSage' 13:02:19 .hello stefw 13:02:20 stefw: stefw 'Stef Walter' 13:02:26 .hello martinpitt 13:02:30 pitti: martinpitt 'Martin Pitt' 13:02:32 .hello dperpeet 13:02:33 dperpeet_: dperpeet 'None' 13:03:36 #topic Agenda 13:03:40 * Fedora 26 13:04:17 * Authentication/Authorize protocol changes 13:05:21 Alright! 13:05:32 #topic Fedora 26 13:05:50 I'll try to make progress to get our tests pass on Fedora 26 13:06:16 pitti has done most of the work already for debian-testing I guess 13:06:38 "most" is an exaggeration, just a few that were due to storaged >= 2.6.3 13:06:47 happy to look at some others though, if you need a hand 13:06:57 kubernetes doesn't work at all 13:07:11 some access right issues and general config issues 13:07:40 stefw, can you take a look at that? 13:07:43 and multi-machine crashes with "fatal: Internal error in login process" which doesn't sound healthy either 13:08:23 mvollmer, likely petervo would be the one to take a look at kubernetes on Fedora 26 13:08:25 i had hard coded some assumptions about Networkmanager 1.6 into cockpit, but I guess they aren't true. I'll check those 13:08:29 related to checkpoints 13:08:37 stefw, okay! 13:08:38 I had a similar error with the debian packaging, it was due to wrong perms of /usr/libexec/cockpit-session; could be selinux related (but just guessing) 13:09:03 pitti, no, systemctl start kube-apiserver fails 13:09:04 pitti, if you see a "fatal: Internal error in login process" and there's not additional reasons in the log 13:09:14 then that's a bug in and of itself 13:09:29 mvollmer: I meant multi-machine, not kubernetes 13:09:49 I can look at the multi-machine bits if you want to, I've worked with that a fair bit 13:10:23 pitti, yep, that would be great 13:10:46 one reason to get f26 testing going is the ABRT stuff, which needs f26 for testing, afaiu 13:11:02 I propose to make a todo list in the PR for coordinatino 13:11:14 good idea 13:11:34 so this blocks the ABRT pull request right? 13:11:36 it should 13:11:43 yes, it does 13:12:00 in which case that should go into the todo list 13:12:14 of the abrt pr? 13:12:16 yup 13:12:47 yep 13:12:58 I added an inital three [ ], please add as you see fit 13:13:10 but let's merge the storaged PR and re-run with that, to clear it up a bit 13:15:14 yes 13:17:21 okay, next topic? 13:17:43 stefw: 13:18:54 pitti, next topic? 13:19:38 yes, that's why I pinged stefw, the "* Authentication/Authorize protocol changes" is next 13:19:42 #topic Authentication/Authorize protocol changes 13:20:02 In cockpit 138 there was a large cleanup related change 13:20:18 we dropped somewhere between 5000-6000 lines of authentication related C code 13:20:39 and in the process we changed the behavior of how cockpit expects to authenticate users 13:20:53 this has not been a completely stable API yet, but i'd like to give a heads up on the change anyway 13:21:16 In the cockpit protocol, there's an "init" message 13:21:17 https://github.com/cockpit-project/cockpit/blob/master/doc/protocol.md 13:22:07 usually that was the first message sent/received over the protocol, on each "hop" where the protocol is used, whether cockpit-ws <-> cockpit-bridge, or cockpit-ws <-> web shell 13:22:22 or web shell <-> web component task (iframe) 13:22:32 in 136 we started to allow send "authorize" messages before the "init" message 13:22:48 these really should be called "authenticate" messages, since they are used for much more than "authorize" stuff 13:23:00 but due to compatibility reasons the "authorize" name has stuck. 13:23:36 Up until 138 we used a complex SEQ_PACKET additional file descriptor to pass around authentication information to things like cockpit-session or cockpit-ssh 13:23:54 from 138 forward, we use the "authorize" messages on the standard protocol for all sorts of authentication and authorization tasks 13:24:08 this brings us back to a single protocol for communicating between the various parts of cockpit 13:24:16 and makes the entire thing much more easy to reason about 13:24:21 hence the many thousands of lines of reduced code 13:24:46 so still outstanding is updating this documentation: https://github.com/cockpit-project/cockpit/blob/master/doc/authentication.md 13:24:55 and if everything looks good, we can mark the resulting protocol changes as stable 13:26:11 nice! 13:26:17 great :) 13:27:08 stefw, do you need help? 13:27:15 i do need help with the documentation 13:27:23 alright 13:27:29 but i guess i'll see if pvolpe and i can combine forces to finish that off 13:27:49 one last thing that's of note: 13:28:01 cockpit-ws now makes no decisions about whether something is logged in or not 13:28:30 once it gets an "init" message from either cockpit-bridge it figures the user is logged in 13:28:58 that cockpit-bridge is launched via either cockpit-session or cockpit-ssh ... and it's up to those intermediate processes to properly authenticate the user before starting cockpit-bridge 13:29:10 there is also very little concept of "which user has logged into cockpit" 13:29:50 since it can be multiple users on different bridges ... or in the case of some pluggable authentication programs (a cockpit-session replacement in certain situations) ... no user with a real "name" 13:30:14 there's also another followup here: while this cleaned up a lot of C code, it has aggravated the protection of the password -- it's now being copied around (and not cleaned up) much more often 13:30:56 pitti, indeed, the decoding of the base64 basic user:password auth happens in more places 13:31:06 and that's the source of that needing cleanup in more places 13:32:05 the protocol is pretty much sound now ... but if there are places where needless copying is going on, or memory is not being cleared, those should be fixed as a follow up. 13:32:28 eot here ... next is documentation and announcement to cockpit-devel 13:33:15 alright 13:33:30 #topic Other business 13:35:11 Okay, looks like we are done. 13:35:14 Thanks! 13:35:18 #endmeeting