shell: Fix bad response when login with empty user name

Fix backend to return authentication failed if user is NULL.
Fix frontend to avoid empty user name.
Some refactoring.

Fixes #940
ws: Update test cases for previous commit

Closes #959
test: mvo.fedorapeople.org now uses https

The redirects were causing ./vm-download (and thus ./VERIFY)
to fail.

Closes #932
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
test: Add wait_attr function

Reviewed-by: Stef Walter <stefw@redhat.com>
test: Fix check-realms for recent changes

The default administrator is now in the placeholder of the input box.

Closes #961
Reviewed-by: Stef Walter <stefw@redhat.com>
test: Fix check-login for recent changes

Some strings are now authentication instead of syntax errors.

Closes #964
Reviewed-by: Stef Walter <stefw@redhat.com>
common: Run spawned commands from $PATH

This makes us less fragile, when commands move between
directories.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Use $PATH when executing various spawned commands

This will simplify porting efforts, between OS releases
and distros.

Closes #887
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
daemon: Don't print warnings when systemd files are empty

Closes #888
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
ws: Fix race crash when closing websockets

Close #899
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Add debug option to log all communication via WebSocket

And document this in HACKING.md

Closes #900
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: A page is already displayed for unsupported browsers

See static/index.html

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Remove cockit-search.js from debug manifest.json

Closes #902
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
daemon: Cleanup cockpitd dbus bus messages

Refer to session bus, more clear what happened, and don't
spam logs for non-events.

Closes #907
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
 * Adjusted allowed journal messages in tests.
ws: Don't print out needless TLS EOF error

Closes #909
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Fix use of invalid exit_code exception field

It should be exit_status

Closes #926
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
tools: Run QUnit tests via test-server

Run all the QUnit tests via test-servar and http:// rather than
file:// paths.

This allows us to use actual channels and WebSocket from our
tests, rather than mocking everything out all the time.

Closes #889
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
common: Move our fdwalk() implementation to cockpitunixfd.c

And wrap it in a cockpit_unix_fd_close_all() function, since
that's what we'll use it for.

Yes, another implementation exists in session.c, but that's a
separate setuid clean-room glibc-only tool, so leave it there.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
agent: Make session dbus-daemon print address to custom fd

It seems like other output may be getting mixed in with
stdout, leading to 'Address is empty' errors.

Closes #901
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
common: Log stderr output from spawned commands to journal

This lets us assign it to the right process name in the journal
rather than letting it fall through to stderr on its own.

This also fixes logging stderr of remote cockpit-agent invocations
(ie: via ssh)

Closes #903
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>