Commit Graph

401 Commits

Author SHA1 Message Date
Adriaan de Groot
d4a784f521 [users] Hook up full name to Config 2020-07-27 17:52:46 +02:00
Adriaan de Groot
630a508049 [users] Hack - create the widget anyway
- since the configuration is in the UI parts, we need the widget still
  to load the whole configuration (until the config object is complete).
  Create the widget before doing configuration; this is wrong. But now
  we don't hit nullptr derefs all over.
2020-07-27 17:29:46 +02:00
Adriaan de Groot
8a14cc7ffc [users] Move some configuration from Page to Config object
- make the HostName textbox just a view on the Config's HostName
- make the username and login textboxes view onto Config
- query the Config rather than the UI for job data
2020-07-27 17:26:46 +02:00
Adriaan de Groot
5ffa09000a [users] Add hostname guessing to Config 2020-07-27 17:26:46 +02:00
Adriaan de Groot
411a202ba5 [users] Do some login-name guessing 2020-07-27 17:26:46 +02:00
Adriaan de Groot
66ae1823a5 [users] Give Config object a user and login name
- This is incomplete, because the business logic of guessing
  a login from the username is not here.
2020-07-27 17:26:46 +02:00
Adriaan de Groot
35916eb20f [users] Move autologin and sudoers groups to Config 2020-07-27 17:26:46 +02:00
Adriaan de Groot
2f786079f3 [users] Move shell settings to the Config object
- this is a set-only property (as far as the current ViewStep is
  concerned) and is passed around in GS for non-obvious reasons.
2020-07-27 17:26:46 +02:00
Adriaan de Groot
8497aad7a1 [users] Apply coding style 2020-07-27 17:26:46 +02:00
Adriaan de Groot
f9b114a67a [users] Pass the Config object to the Page
- delay construction of the Page (widget) until it's needed
- hand the Config object to the Page on construction

This is prep-work for putting the configuration information into the
Config object, rather than in the UI elements.
2020-07-27 17:26:46 +02:00
Adriaan de Groot
dab831b2ff [users] Introduce a (stub) Config object 2020-07-27 15:55:04 +02:00
Adriaan de Groot
1e08ee084f [users] Actually add the test file 2020-07-27 15:35:24 +02:00
Adriaan de Groot
92938f63f8 Merge branch 'move-permissions' into calamares 2020-07-27 15:05:46 +02:00
Adriaan de Groot
8ce7457023 [users] Add test for create-users code
- just one test for groups-file loading
- while here fix bug that blank and comment lines were being
  kept as valid group names
2020-07-27 15:00:14 +02:00
Adriaan de Groot
8a6e4af511 [users] FreeBSD support creating user
- call pw useradd and pw usermod as needed; the code paths are basically
  the same in invoking a program in the target system to do the work.
2020-07-27 13:45:00 +02:00
Adriaan de Groot
26b8c82630 [users] Refactor user-creation and user-group-setting into methods
- This is prep-work for handling other tools for user- and group-
  creation as well.
2020-07-27 13:29:51 +02:00
Adriaan de Groot
1fddf723fe [users] FreeBSD support creating groups 2020-07-27 13:18:09 +02:00
Adriaan de Groot
b99b87f787 [users] Explain some weird internals 2020-07-27 12:37:04 +02:00
Adriaan de Groot
90a0605f38 [preservefiles] [users] Use the Permissions methods
- don't call out to tools (executables) when we have an API for it
  (which might call out to those tools, but that's abstracted)
2020-07-27 12:27:45 +02:00
apt-ghetto
01b22d27a8 Do not allow 'root' as username
On the "Users" tab, the user can choose a username. It was possible to
use 'root' as username, which led to an installation error, because
'root' exists already.

Added a new check to the username validation.

Fixes #1462.
2020-07-25 16:17:57 +02:00
Adriaan de Groot
409ab6ee86 [users] Refactor writing sudoers file
- use existing convenience methods
2020-07-24 14:27:42 +02:00
Adriaan de Groot
bc484ae5da [users] Refactor /etc/group file handing 2020-07-24 14:27:42 +02:00
Adriaan de Groot
bff0bed07e [users] Apply coding style (only CreateUserJob.cpp though)
- use ci/calamaresstyle
- SPDX licensing
2020-06-22 13:17:39 +02:00
Adriaan de Groot
5da2012465 [users] Expand schema to support the keys documented in users.conf
- Now the documentation in the file and the source is leading
  to update the schema, but in future those should go hand-in-hand
2020-06-18 16:23:32 +02:00
Adriaan de Groot
463545290e [users] Fix up schema syntax
- Remove schema items *availableShells* and *avatarFilePath* because
  those have no implementation.
2020-06-18 16:12:40 +02:00
Adriaan de Groot
4a07bd4ae3 CI: import all the rest of the YAML schema
- These have **not** been fixed for validation, so the schema's themselves
  will fail to load. This is a consequence of variations in JSON-Schema
  representations through various drafts. Fixing the schemata is
  fairly straightforward.

This gives us 19 new tests, all of which fail.
2020-06-16 16:06:56 +02:00
Adriaan de Groot
d20a621e93 [users] Apply coding style 2020-04-15 11:55:09 +02:00
Adriaan de Groot
ab5d5fb772 [users] Log pwquality error message as well (better than just "-14") 2020-04-15 11:49:43 +02:00
Adriaan de Groot
ebb3f319cc [modules] Be more consistent in include punctuation
- Use <> for Qt, system, externals
 - Use double-quotes for Calamares headers
2020-03-09 21:05:15 -05:00
Adriaan de Groot
c20ac0836e [users] Take setRootPassword into account when hiding fields 2020-02-24 16:11:14 +01:00
Adriaan de Groot
7752cf31b3 [users] Improve documentation of setRootPassword 2020-02-24 15:59:52 +01:00
Adriaan de Groot
8c527ab592 [users] Overwrite host(s|name) files in target 2020-02-24 12:48:01 +01:00
Adriaan de Groot
4621937477 [users] Use right check on writing hostname
- !failed() also means "didn't write the file because it already
  exists", which is sometimes acceptable -- but not here.
  Use the more-strict bool() conversion, which is only when
  the file was actually written.
2020-02-24 12:44:50 +01:00
Adriaan de Groot
7c2a196568 [users] Document new knobs
- while here, update copyright notice

FIXES #1140
2020-02-18 10:38:31 +01:00
Adriaan de Groot
f7e8488edf [users] Correct DBus return from hostnamed calls 2020-02-18 10:35:47 +01:00
Adriaan de Groot
094c213baa [users] Also test hostname-setting via hostnamed
SEE #1140
2020-02-18 10:16:19 +01:00
Adriaan de Groot
f1435452ea [users] Polish up tests
- Don't remove test artifacts on failure
 - Coding style
2020-02-17 18:21:44 +01:00
Adriaan de Groot
c5b45c37fc [users] Add tests of the file-writing components 2020-02-17 18:10:46 +01:00
Adriaan de Groot
371fe267b1 Merge branch 'better-hostname' 2020-02-17 17:10:21 +01:00
Adriaan de Groot
49eb8212e3 [users] Imporove enum-naming 2020-02-17 16:46:06 +01:00
Adriaan de Groot
e74831fcb4 [users] Add .conf entries for hostname settings
- Set hostname not-at-all, or via one of two mechanisms
 - Write /etc/hosts or not
2020-02-17 16:40:09 +01:00
Adriaan de Groot
61d096c9ec [users] Prep-work for configurable actions
- tidy include style
 - add setting to UsersViewStep for hostname action
2020-02-17 16:27:53 +01:00
Adriaan de Groot
33b3321698 [users] Simplify reading configuration 2020-02-17 16:05:55 +01:00
Adriaan de Groot
dbba0c9b03 [users] Move Job creation from the widget to the ViewStep
- Having the widget do creation ties the step heavily to that UI;
   start moving towards a state where we have a Config object (not
   here yet; it still queries the UI part) that moves data around
   between UI and ViewStep.
2020-02-17 15:56:41 +01:00
Adriaan de Groot
2471e74aab [users] Provide some accessors to the UI-page data 2020-02-17 15:50:22 +01:00
Adriaan de Groot
ef4bb5e13b [users] Make SetHostName job actions configurable 2020-02-17 15:24:44 +01:00
Adriaan de Groot
4495a4c739 CMake: Allow extra libraries in calamares_add_test
- Extra libraries specified via LIBRARIES part of CMake function
 - Convert all the other module tests
2020-02-17 14:36:52 +01:00
Adriaan de Groot
b044549013 [libcalamares] Merge PluginDllMacro.h into DllMacro.h
- Let's just have one header definining export- and visibility-
   macros for Calamares. They are still selected based on the
   export flags (*_PRO), just defined in one header instead of two.
2020-02-17 11:37:35 +01:00
Adriaan de Groot
44bf0a5d6d [users] Add method for using hostnamed
SEE #1140
2020-02-17 10:57:41 +01:00
Adriaan de Groot
9a7465bfd5 [users] Refactor writing-hostname and writing-hosts
- Move to separate functions, as prep-work for making the actions
   configurable (and optional).
2020-02-17 10:42:54 +01:00
Adriaan de Groot
90f79b0692 [users] Restore error-checking to set-hostname code
- Use the new CreationResult code for compact results
2020-02-14 13:27:49 +01:00
Adriaan de Groot
695b88b8a7 [users] Tidy up hostname creation
- Use the createTargetFile() convenience functions to do the
   actual work.
 - This probably involves more copying around of buffers, since it's
   creating one big QString and sending that off, rather than writing
   little chunks to a file, but I feel this is worth the code simplification.
 - Drops all the error checking for creation, though, because the API for
   createTargetFile() lousy.
2020-02-14 12:31:53 +01:00
Adriaan de Groot
b337a6b3f5 [user] Apply coding style 2020-02-14 11:46:35 +01:00
Adriaan de Groot
2bb4dd8e22 [users] Refactor hostname-guessing 2020-02-14 11:45:45 +01:00
Gabriel Craciunescu
7c323bdcdc [users] Try to guess suggested hostname from dmi
- nothing compicated for now, just try to get something
  from /sys/devices/virtual/dmi/id/product_name and fallback
  to -pc thingy if we can't
2020-02-14 11:36:53 +01:00
Adriaan de Groot
02e5e0de5e [users] Use entropy service.
FIXES #1254
2020-01-30 10:32:34 +01:00
Adriaan de Groot
7029c427f1
Merge pull request #1275 from bill-auger/patch-createusers-logging
housekeeping - logging for CreateUser Job
2019-12-02 11:38:34 +01:00
Adriaan de Groot
c2ebfbf6ae [users] Remove unused parameter (reduces warnings) 2019-11-29 00:17:02 +01:00
bill-auger
344445b437 housekeeping - logging for CreateUser Job 2019-11-28 14:26:06 -05:00
Adriaan de Groot
1c853f2348
Merge pull request #1266 from bill-auger/patch-8
housekeeping - calamares style (those lambdas are always a thing)
2019-11-19 14:59:16 +01:00
Adriaan de Groot
0d7e19d5e9 [users] Do not log the password in plain text 2019-11-08 13:23:24 +01:00
Adriaan de Groot
445d8501a7 [users] Different disambiguation for pwd-empty check
- all the other checks use "PWQ" as a tag, so use that here too
2019-11-08 13:22:37 +01:00
Adriaan de Groot
e11c9a049f [users] Sort the password checks before applying them 2019-11-08 13:21:37 +01:00
Adriaan de Groot
dec0cfb7d3 [users] Give password-checks a weight, to sort them later 2019-11-08 13:16:19 +01:00
bill-auger
6c6dcfe1cd housekeeping - calamares style 2019-11-08 05:17:40 -05:00
Adriaan de Groot
b3e7c3f294 [users] Run checks more often
- check password warnings when the page is entered
 - re-check (and translate) on language change
2019-11-02 19:26:40 +01:00
Adriaan de Groot
cc66903678 [users] Allow an explicit check for non-emptiness of passwords
- move the explicit checking for non-empty into a specific
   (normal) password check
 - leave only the-two-fields-are-equal outside of the password-
   requirements framework
 - having non-empty is the same as minLength 1, but gives a different
   error message
2019-11-02 19:23:04 +01:00
Adriaan de Groot
196a358493 [users] Flag password problems even when weak-passwords are ok
- when you allow weak passwords, flag problems as warnings (yellow)
 - when weak passwords aren't allowed, they are fatal errors (red)
2019-11-01 14:48:46 +01:00
Adriaan de Groot
a4e3ea2a86 [users] Refactor retranslation
- move retranslation to a method so that code-formatting doesn't
   get confused by it.
2019-11-01 13:55:32 +01:00
Adriaan de Groot
28c9da414b [users] Apply coding style 2019-11-01 13:55:32 +01:00
Adriaan de Groot
9fa817a244 [users] Refactor password-validation
- add a method that does the work and sets UI strings for a
   generic double-field password entry
 - use that for user and root passwords
2019-11-01 13:55:32 +01:00
Adriaan de Groot
7d25173afb [users] Remove TODO since it doesn't make sense
- the two explicit checks are the ones that handle *two*
   strings as special cases; all the other checks from
   the password-requirements system only handle the one string.
2019-11-01 13:17:31 +01:00
Adriaan de Groot
93eb169ea5 [users] Improve error messages
- distinguish beginning of username from the rest
 - must start with a letter or _
 - tighten message for bad username and bad hostname

FIXES #1261
2019-11-01 13:05:58 +01:00
Adriaan de Groot
8232ca626c [users] Refactor constants 2019-10-29 16:21:26 +01:00
Adriaan de Groot
9cd1ef93bd [users] Apply coding style 2019-10-29 16:20:52 +01:00
Adriaan de Groot
9ee0609b72 [users] Use tooltips
- the explanations under and around the boxes is noisy,
   hard to size correctly (viz. issue #1202)
 - use tooltips in almost-all fields instead
 - add placeholder text to be more suggestive
2019-10-29 14:37:26 +01:00
Adriaan de Groot
b3765bc144 [users] Massage the weak-passwords settings
- since the wording of the checkbox itself (and the functionality)
   is to enforce strong passwords, need to switch out some
   logic and fix the wording of the documentation.
2019-10-22 16:08:21 +02:00
Adriaan de Groot
3e4e492305 [users] Polish the documentation for the various checkboxes 2019-10-22 15:32:42 +02:00
Adriaan de Groot
ede50756a1 [users] Simplify config-logic for weak-passwords
- Use the convenience methods for config-reading.
 - Always set the value (to the default if nog explicitly
   set in the config-file).
2019-10-21 17:29:35 +02:00
Adriaan de Groot
21bcd560b1 [users] Use API to change weak-checkbox visibility 2019-10-21 17:26:06 +02:00
Adriaan de Groot
eb90757063 [users] Apply coding style (lots of churn) 2019-10-21 17:21:33 +02:00
Adriaan de Groot
799f1131a9 Merge branch 'patch-6' of https://github.com/bill-auger/calamares into bill-auger-patch-6 2019-10-21 17:20:34 +02:00
Andrius Štikonas
490c14d93d QLatin1Literal->QLatin1String. 2019-09-21 20:44:33 +01:00
bill-auger
1513934a57
add checkbox to disable password validations 2019-08-30 08:13:33 -04:00
Adriaan de Groot
a0854a999e Modules: chase API change, use std::chrono::seconds 2019-08-01 22:59:06 +02:00
Adriaan de Groot
9331a25905 [libcalamares] Remove Typedefs.h
- This small header file contained a few unrelated typedefs.
   Move those typedefs to the classes they relate to. This
   **does** mean that some consumers need to #include something
   else instead.
 - Use type names more consistently.

Editorial: why are **pages** responsible for creating the jobs?
2019-05-07 09:51:23 -04:00
Adriaan de Groot
8d0f076591 [libcalamares] Rename CalamaresUtils -> String
- The only remaining functions in the file are string-related, so
   rename to match their purpose.
 - Drop this include file from most places, since they don't actually
   use the string functionality at all.
2019-04-29 06:49:16 -04:00
Adriaan de Groot
090aee9196 Modules: adjust to split-out utils/Variant.h
- Most modules only needed the variant support, not the "whole"
   CalamaresUtils header.
 - While here improve ordering of headers as well.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
123c774a47 Use new automoc options 2019-04-18 12:06:16 +02:00
Adriaan de Groot
520478847c Make logging more consistent.
- Across all the C++ modules, use Logger::SubEntry for sub/continues
   log lines, instead of somewhat-random indent strings.
2019-04-15 09:02:21 -04:00
Adriaan de Groot
d0e1e46df2 [users] Don't translate CSS 2019-04-11 09:54:42 -04:00
Adriaan de Groot
95897bf83b [users] Mark as not-translated 2019-04-11 09:49:38 -04:00
Adriaan de Groot
620d2a769a [users] Reduce compile warnings
- Avoid C-style casts
 - Unfortunately needs some verbose casting machinery to do
   it "right" wrt. C++ type system.
2019-04-11 15:14:31 +02:00
Arnaud Ferraris
6463e5f83c [users] Adjust messages to setup mode
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-04-08 18:02:23 +02:00
Adriaan de Groot
6071489788 [libcalamaresui] Provide default implementations of next() and back()
- These methods are used for multi-page view-steps, which are rare.
   For all the others, just drop the empty implementation and defer
   to the base class.
2019-02-25 07:49:10 -05:00
Adriaan de Groot
08565b5f17 [libcalamaresui] Remove the signal done() from ViewStep
- The signal is emitted, generally from next(), but not actually used.
2019-02-25 07:34:40 -05:00
Adriaan de Groot
3ea6c6cfbe [users] Rename badly-named variable 2019-02-21 06:40:49 -05:00
Adriaan de Groot
ebc9a00bcf [users] Massage text widths
- Make the explanations about 3 times as wide as the text-boxes
   that they are explaining. This is partly moot because the
   text-boxes have fixed pixel sizes in the designer file, but keep
   it flexible for now.
2019-02-11 18:18:34 -05:00
Adriaan de Groot
1adf4da736 [users] Small space between password explanation and checkboxes 2019-02-11 18:07:27 -05:00
Adriaan de Groot
7515386cf8 CMake: clean up test setup
- Remove redundant searches for ECM and Qt::Test, move
   them to top-level.
2018-10-05 09:41:37 -04:00
Adriaan de Groot
dd8e53dc22 Copyright: update copyright lines on files touched in 2018
Contributions from:
  Adriaan de Groot <groot@kde.org>
  Gabriel Craciunescu <crazy@frugalware.org>
  AlmAck <gluca86@gmail.com>
  Andrius Štikonas <andrius@stikonas.eu>
  Caio Carvalho <caiojcarvalho@gmail.com>
  Raul Rodrigo Segura <raurodse@gmail.com>
2018-06-15 05:59:11 -04:00
Adriaan de Groot
dae84d3bb1 [users] Improve explanation of other steps of adding a user 2018-05-23 08:11:49 -04:00
Adriaan de Groot
01ff1efc5d [users] Improve explanation when useradd fails 2018-05-23 07:03:59 -04:00
Adriaan de Groot
0d24c1db6c [users] Introduce userShell setting
- Add a *userShell* key, which can be left out (default, backwards-
   compatible) to retain the old /bin/bash behavior, or explicitly
   set to empty to defer to useradd-configuration, or explicitly
   set to something non-empty to use that shell.
2018-05-23 05:23:46 -04:00
Adriaan de Groot
ed15edabf9 [users] Document passwordRequirements and code 2018-05-23 04:37:18 -04:00
Adriaan de Groot
3a59574128 [users] Factor out command-line to useradd
- This is prep-work for #964, which was caused by #955
 - Original assumption was that distro's would have a working
   useradd configuration; @abucodonosor already pointed out that
   this was probably not the case, but I ignored that.
2018-05-22 11:45:39 -04:00
Frede H
f2677b0879
Update CreateUserJob.cpp
Removal of the hardcoded shell, letting the `/etc/default/useradd` be responsible for the shell.
2018-05-17 12:52:09 +02:00
Adriaan de Groot
6bb72d173d [libcalamares] Drop generic cLog()
- Use cWarning or cError() for errors
 - Use cDebug(level) for other uses (but there aren't any)
2018-03-28 09:31:45 -04:00
Adriaan de Groot
a9e751bb31 [users] Compile warnings-- 2018-03-06 16:10:31 +01:00
Adriaan de Groot
3315df5df1 [modules] Use new convenience logging methods across the board 2018-02-13 11:07:12 +01:00
Adriaan de Groot
874514a4e4 i18n: drop orphaned #undefs (thanks Kevin Kofler) 2018-02-08 10:33:40 +01:00
Adriaan de Groot
d27675d660 i18n: drop superfluous QObject* parent
These additional pointers were introduced for translations,
and needed their own tricks to get lupdate to recognize the
strings. Using QCoreApplication::translate() removes the
need to a QObject to provide context. Drop the now-unneeded
parameters.
2018-02-07 17:43:26 +01:00
Adriaan de Groot
f954496acf i18n: avoid translation tricks, use QCoreApplication::translate
Instead of using tr and some macro hacks to get lupdate to
recognize the translation, instead use QCoreApplication::translate()
which takes its own context for translation.
2018-02-07 17:43:26 +01:00
Adriaan de Groot
1d6dca062c [users] Make state of 'reuse password for root' available in globals. 2018-01-24 16:19:41 +01:00
Adriaan de Groot
b0fe7b0682 i18n: apply some more tricks to make lupdate / transifex happy 2018-01-24 14:13:50 +01:00
Adriaan de Groot
399256ba99 [users] Use explanation of password error from libpwquality
- add license file from libpwquality for provenance
 - translate pwquality_strerror() into the PWSettingsHolder convenience class
 - use Qt translations, since we'd otherwise also have to wire up, and
   wire in, libpwquality gettext translations.
2018-01-24 14:13:50 +01:00
Adriaan de Groot
ed58d540b3 [users] Implement password checking through libpwquality
- Use shared_ptr and a helper class to hide away raw pointer use
   from libpwquality. Provide a convenience C++ API.
 - Simplify configuration through helper class.
2018-01-24 14:13:50 +01:00
Adriaan de Groot
354cb79cb1 [users] sample config and stub function for libpwquality 2018-01-24 14:13:50 +01:00
Adriaan de Groot
27e1de6548 [users] Use libpwquality for additional password checks
- add cmake module to find libpwquality
 - move checking functions to their own file
 - some Transifex hackery
 - stub out the libpwquality check
2018-01-24 14:13:50 +01:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
839c039168 Merge remote-tracking branch 'origin/plasma-lnf' 2017-12-03 04:43:55 -05:00
Adriaan de Groot
105e06798e CMake: look for ECM at top-level, add to search path if found. 2017-11-01 05:50:04 -04:00
Gabriel Craciunescu
477a9855f6 users.conf: made requested changes 2017-10-31 13:09:34 +01:00
Gabriel Craciunescu
599f9d48ae users.conf: document some things 2017-10-30 23:20:43 +01:00
Gabriel Craciunescu
3749beb4e5 modules/users: warn when fallback groups is used
- Warn here since it may not be what the Distributor want.
  Having wrong groups may result in broken permissions for
  created user.
- explain what defaultGroups is for in users.conf
2017-10-30 20:44:51 +01:00
Adriaan de Groot
13807ceabf Licensing: add self
- to all the files I've touched recently
 - to (very incomplete) AUTHORS list

Licensing: add license info to top-level CMakeLists.txt
2017-09-19 15:57:25 +02:00
Adriaan de Groot
1c52f961a6 Refactor password-errors-indication (again)
- set message and status icon in one go
 - only check until an error is found
 - Mark TODO for passwordRequirements
2017-09-19 15:57:13 +02:00
Adriaan de Groot
d839f8e0b3 Passwords: introduce password-checking
- Introduce a map 'passwordRequirements' in users.conf,
   which is a list of named requirements. There are only
   two settings right now, min and max length, but
   additional checks can easily be added in UsersPage.cpp
   by defining additional lambda's to check the given
   password string.
 - Add PasswordCheck instances as needed, with functions
   to check acceptability and to produce messages on rejection.
 - Documentation in the users.conf file itself.

 - In passing, refactor setting of pixmaps on labels.

FIXES #790
2017-09-19 00:12:44 +02:00
Adriaan de Groot
8b61b3ddc3 Merge pull request #802 from abucodonosor/pr-autologin2
CreateUserJob: do not force any autologin group
2017-09-14 03:28:34 -04:00
Adriaan de Groot
c9f4bc0cc8 Check for crypt(3), also on FreeBSD 2017-09-13 22:32:21 +02:00
Adriaan de Groot
edb1dbaa6e Clang: warnings-- 2017-09-13 22:32:21 +02:00
Gabriel C
5d241f8e09 CreateUserJob: do not force any autologin group
There is no need to force folks haing a random group
 bc that is a Distro think. SDDM/GDM works just fine without
 having a group for the user to autologin.
 Just setup a group in users.conf .. is why we have a configuration
 option for that.
2017-09-13 21:44:15 +02:00
Adriaan de Groot
2dc019493d Modules: docs for users.conf 2017-08-09 10:59:14 -04:00
Adriaan de Groot
f0894b471b i18n: mark non-translatable string as such 2017-08-02 14:40:26 -04:00
Adriaan de Groot
2fdccdf090 Merge branch 'simplify-module-desc' 2017-08-02 11:29:58 -04:00
Adriaan de Groot
196b1567db Modules: remove boilerplate module.desc 2017-08-02 11:05:32 -04:00
Adriaan de Groot
6fb40c517a CMake: collect all the Find-modules at top-level 2017-07-11 06:26:56 -04:00
Adriaan de Groot
8ea14d7957 Release: add copyright to files I've touched 2017-06-21 08:27:10 -04:00
Adriaan de Groot
9f526be198 Salt: add test for salt format 2017-06-20 17:43:50 -04:00
Adriaan de Groot
de45f43640 Salt: add copyright info 2017-06-20 17:18:12 -04:00
Adriaan de Groot
f1ab9df7ee Salt: improve saltiness. 2017-06-20 04:39:04 -04:00
Adriaan de Groot
444aa24a04 Increate the maximum allowed length of a hostname.
The hostname madagascarsteenplaatschildpad (.uva.nl) doesn't fit in 24,
and hostname(1) accepts up to 64 characters. The RFCs vary, but 63 +
terminating NUL or length-octet + data maximum 64 bytes seen to be
the common ground.

FIXES #514
2017-06-19 05:16:54 -04:00
Teo Mrnjavac
b47f72ef43 Document /etc/sudoers.d/10-installer 2017-02-02 18:20:12 +01:00
Kevin Kofler
97c9a7c6e4 [users] SetPasswordJob: Also encode m_userName in UTF-8, not Latin1. 2017-01-24 15:06:59 +01:00
Teo Mrnjavac
20d279a409 Fix issue which disallowed non-Latin1 characters in passwords. 2017-01-24 11:25:33 +01:00
Teo Mrnjavac
c09a28919e Make sure to disable the root password if setRootPassword is false.
CAL-442 #comment This should be fixed now, please test and report back.
2017-01-12 13:44:11 +01:00
Teo Mrnjavac
e2b2d761c2 Do not LINK_PUBLIC by default. 2016-12-07 16:37:29 +01:00
Teo Mrnjavac
de979f8528 Add user to groups separately from useradd. 2016-10-27 15:26:20 +02:00
Kevin Kofler
0ad215bcca users: Drop dependency on chfn. (#260)
Pass the full name directly to useradd instead, using the "-c" (comment)
parameter, which is "currently used as the field for the user's full
name" according to the documentation.

The chfn utility is no longer installed by default on current Fedora
releases due to its dependency on libuser. (They split out chfn and chsh
from util-linux into an optional subpackage.) It could be added as a
dependency of Calamares, but since it is needed inside the chroot, it
has to be on the base live image, not the overlay. Thus, to allow
testing Calamares with a simple "dnf install calamares" again, the
dependency needs to go away. And it is unnecessary anyway.
2016-09-16 07:55:04 +02:00
Teo Mrnjavac
701d7d8a62 Be sure to validate user name even if empty. 2016-08-12 12:40:15 +02:00
Teo Mrnjavac
d65df112dd If reuseHome is set and if /home/<username> exists, backup dotfiles. 2016-07-22 16:36:26 +02:00
Tith Chantara
80864bdf27 Modify Hostname input validation to accept number as first character
Input validation for Hostname accept a letter or a digit as the first character to conform to [rfc1123](http://tools.ietf.org/html/rfc1123#page-13 ) . Fixing [CAL-346](https://calamares.io/bugs/browse/CAL-346)
2016-02-23 15:32:29 +07:00
Teo Mrnjavac
22470ba4af Disallow next if the root password is not reused or provided.
CAL-344 #close
2015-12-30 17:27:02 +01:00
demmm
f267410dbb different names 2015-12-30 17:27:02 +01:00
demmm
c89bd1db23 implement https://calamares.io/bugs/browse/CAL-341 2015-12-30 17:27:02 +01:00
codeworkx
b412937699 don't set default "users" group on home dirs
Fixes CAL-345.

Changing group of home dir to the default "users" group might be a security risk
because every user which belongs to the default "users" group
might be able to access private data on home dirs of other users.
2015-11-29 11:10:01 +01:00
Teo Mrnjavac
c1ea86c48e Add new users to a group with the same name. 2015-10-16 16:47:23 +02:00
Teo Mrnjavac
bbd8fe6203 Allow reusing the user password as root password. 2015-10-16 14:26:26 +02:00
Teo Mrnjavac
cb83e22ded Make sure the FullName is not empty. 2015-10-15 13:24:27 +02:00
Teo Mrnjavac
baa3553db5 Add CalamaresUtils::obscure. 2015-09-25 15:24:59 +02:00
Teo Mrnjavac
0bd64163a5 PluginFactory in Users module. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
05292241c4 Let's just try ways to escape or not escape until something sticks. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
daee5b7148 Escape the encrypted password after calling crypt with the right salt. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
8573bebc58 Escape relevant password hash characters. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
42e465aa10 CalamaresUtils::System is now a class. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
bf885d65db chroot calls are now generic "target env" calls. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
de8e713b31 Update defaults. 2015-08-19 12:51:40 +02:00
Teo Mrnjavac
4ae55d0108 Allow setting the default for autologin/no autologin. 2015-08-19 12:51:06 +02:00
Teo Mrnjavac
b85e2d777e If we don't ask for a root password, allow going forward without it.
CAL-248 #close Should be fixed, please test.
2015-07-02 11:21:46 +02:00
Teo Mrnjavac
079fa3624b Update pretty{Description,StatusMessage} for users module jobs. 2015-06-13 02:22:03 +02:00
Teo Mrnjavac
46e90ccda2 Add setRootPassword option to the Users module.
If set to true, the user must set a root password. Otherwise, the
user won't be asked and a root password will not be set.
2015-06-11 04:02:06 +02:00
Gormogon
e2d05cb9f2 Align Pointers 2015-02-25 19:57:19 -05:00
Teo Mrnjavac
8ad507e379 Improve input validation in UsersPage.
CAL-190 #close
2015-02-17 20:20:20 +01:00
Teo Mrnjavac
171248ad4f Add isBackEnabled checks to all ViewSteps. 2015-01-29 22:46:07 +01:00
Teo Mrnjavac
0738af04ca Reimplement onActivate in UsersViewStep for focus handling. 2014-11-26 18:41:35 +01:00
Teo Mrnjavac
e258f0b5a9 Use onActivate instead of focusInEvent for page focus control. 2014-11-26 18:41:35 +01:00
Teo Mrnjavac
fb37a0bf2f Fix focus in UsersPage. 2014-11-18 15:57:07 +01:00
Teo Mrnjavac
78de47eb8c Retranslate Users module. 2014-11-13 17:42:02 +01:00
Rohan Garg
60eb9cfae6 Use the correct file to write things into 2014-11-13 17:08:46 +01:00
Rohan Garg
d3d9ea130c Fix build, last merge was a bit broken 2014-11-07 16:06:14 +01:00
Teo Mrnjavac
294d6a34ca Merge pull request #142 from shadeslayer/github_master
Make sure we also write to the /etc/hosts file
2014-11-07 15:23:52 +01:00
Rohan Garg
7a2fe5e647 Make sure we also write to the /etc/hosts file 2014-11-07 15:19:55 +01:00
Teo Mrnjavac
10ca85338d Yet another Qt 5.4 fix. 2014-10-28 18:38:27 +01:00
Rohan Garg
a0a3b4dc49 Style fixes
Run calamaresstyle over new classes
2014-10-27 16:53:57 +01:00
Rohan Garg
4a4dc74f5c Drop useless line 2014-10-22 15:54:07 +02:00
Rohan Garg
b587a0ff00 Add support to set the hostname 2014-10-21 19:06:27 +02:00
Teo Mrnjavac
9e84581354 Only add wheel to sudoers if a wheel group is defined in conf. 2014-10-08 15:35:27 +02:00
Teo Mrnjavac
ad68ce0187 Make default groups, users group and autologin group configurable. 2014-10-08 15:05:23 +02:00
Teo Mrnjavac
0d1fb79ec8 New config file for users module. 2014-10-08 15:02:27 +02:00
Teo Mrnjavac
87711c89fc Use common icons in users viewmodule. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
d97bb47f09 Add proper QResrouce system to libcalamaresui, finish up prepare checks
This also adds ImageRegistry, a SVG cache, a bunch of utility functions
for shared pixmaps in CalamaresUtilsGui and renames several qrc files
in viewmodules.
2014-08-26 18:24:51 +02:00
Teo Mrnjavac
0404413b05 Store active user in GlobalStorage as username. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
ee4a0f1cba Add support for full name, and user/host autocompletion and validation. 2014-08-13 17:16:54 +02:00
Teo Mrnjavac
f21da0035d Refactor layouts in users page, add full name. 2014-08-12 17:33:19 +02:00
Teo Mrnjavac
70691068cb Fix sudoers setup in users module. 2014-08-07 17:56:52 +02:00
Teo Mrnjavac
8f10c21e5b Big configuration overhaul.
Module descriptors are now module.desc, no configuration allowed inside.
Module config files are <modulename>.conf, installed in
share/calamares/modules.
settings.conf is read from /etc/calamares, then share/calamares, and if
running with --debug also in the current dir.
Module config files are read from /etc/calamares/modules, then
share/calamares/modules, and if running with --debug also in
src/modules/<modulename> relative to the current dir.
2014-08-06 11:54:45 +02:00
Teo Mrnjavac
57ee5ac26b Add autologinUser to GlobalStorage. 2014-08-01 11:20:20 +02:00
Teo Mrnjavac
b111027d57 Add SetPasswordJob in Users module, hook it all up. 2014-07-31 19:06:31 +02:00
Teo Mrnjavac
8e3002bfbb Add FindCrypt in the users module. 2014-07-31 19:02:50 +02:00
Teo Mrnjavac
46f5dab7fd CreateUserJob for Users viewmodule 2014-07-31 14:53:46 +02:00
Teo Mrnjavac
fb32432548 UI for users viewmodule. 2014-07-31 14:52:40 +02:00