Commit Graph

84 Commits

Author SHA1 Message Date
Adriaan de Groot
17814410e9 [users] always-forbidden-names should be set in the Config constructor 2022-05-18 14:40:35 +02:00
Adriaan de Groot
d0db56e964 [users] Simplify code: use contains() instead of a for-loop 2022-05-09 14:58:46 +02:00
Adriaan de Groot
ef9bf2650c [users] Allow a configurable list of forbidden names
- forbidden login names
- forbidden host names
2022-05-09 14:51:13 +02:00
Adriaan de Groot
fe04ae3ac1 [users] Introduce new structure for users-settings 2022-05-09 14:33:39 +02:00
Victor Fuentes
cc3ab110ee
[users] add fullname to global storage 2022-04-12 23:38:51 -04:00
Adriaan de Groot
b95eb55994 [users] Add a template for hostname suggestion 2022-04-11 14:12:05 +02:00
Adriaan de Groot
1a8fc1feec [users] Settle on 'hostname' as a single word for camel-casing 2022-04-11 12:16:03 +02:00
Adriaan de Groot
3524d4a0d0 [users] Add "transient" for hostname-location 2022-04-11 11:47:47 +02:00
Adriaan de Groot
a12c6de2ef [users] Don't set GS hostname if hostname.location is None 2022-04-11 11:29:23 +02:00
Adriaan de Groot
854c711ac6 [users] Untangle setting-hostname from writing-/etc/hosts
Exactly one kind of setting-hostname is done, and that's
entirely independent of writing /etc/hosts. Don't make it
a set of flags, use an enum and a bool.
2022-04-11 11:10:40 +02:00
Adriaan de Groot
6a6aa8867b [users] hostname.X takes precedence over legacy settings 2022-04-11 10:49:16 +02:00
Adriaan de Groot
99bf5497ca [users] Document change to config, document TODO:3.3 2022-04-11 10:14:32 +02:00
Adriaan de Groot
04f38ea661 [users] Put hostname settings in a *hostname* key
Move settings into a structured setting for *hostname*, with suitable
sub-keys. Legacy settings remain supported, produce a warning.
2022-04-08 11:30:57 +02:00
Adriaan de Groot
c3224e60d6 [users] Add a switch to write different styles of sudo file 2022-02-21 15:49:10 +01:00
demmm
fce798dadf [users] add an OK message to password message fields
empty text box on all good status in usersq is confusing
2021-07-03 14:21:07 +02:00
Adriaan de Groot
3f1d12ccd8 [users] One more capitalization fix for autologin
FIXES #1672
2021-04-13 16:12:22 +02:00
Adriaan de Groot
8949b079e1 [users] Fix autologin-setting from config file
SEE #1668
2021-04-02 13:11:16 +02:00
Adriaan de Groot
4ffa79d4cf [users] In code, consistently [aA]utoLogin as name
There was a mix of autologin and autoLogin, leading to confusion
in the code. QML is sensitive to this, so go to one consistent name.
(Although the names of the settings in the `.conf` file are
different again)
2021-03-15 00:24:10 +01:00
Adriaan de Groot
b4a21d7aca [libcalamares] Add macro CONFIG_PREVENT_EDITING to handle uneditable fields
Boilerplate code for avoiding accidental setting of an internal
field when the UI is editable and the underlying data isn't.
2021-03-14 13:30:26 +01:00
Adriaan de Groot
3ea796d009 [users] 'undo' changes to values if the UI is wonky
- you can still call set*(), eg. from the UI, when the field is
  not editable. Although the code previously ignored the change,
  this would lead to a mismatch between what the UI is showing
  (the changed value) and what the Config has (old value).
  Emit a changed-signal (notify) with the old value so that the
  UI is changed *back* as soon as possible.
2021-03-14 12:27:59 +01:00
Adriaan de Groot
2e90a8d829 [libcalamares] Report preset mis-configurations
- warn about fields applied twice (program error)
- warn about fields not used (configuration error)
- add operator<< for "clean" looking preset application
2021-03-14 12:14:33 +01:00
Adriaan de Groot
d8dff3dc65 [libcalamares] Replace loadPresets() with an applicative style
Build up the list of known presets by what the Config-object
expects, not by what the Config file provides. This allows
early detection of mis-matched configurations.

Presets can only apply to Q_PROPERTY properties, and the
preset must match the property name.
2021-03-14 12:14:33 +01:00
Adriaan de Groot
448e478b6d [users] Use base Config and its Preset-handling 2021-03-12 13:54:06 +01:00
Adriaan de Groot
381a4f9b53 [users] Add preset to users module Config 2021-03-12 13:25:16 +01:00
Adriaan de Groot
a383aa974a [users] Need <memory> for unique_ptr
- Although unique_ptr is only used when ICU is enabled, include it
  always because it is likely that we'll use more unique_ptr
  in the implementation at some point.
2021-02-02 13:38:52 +01:00
Adriaan de Groot
b503aa645b
Merge pull request #1563 from LordTermor/calamares
[users] Full name transliteration support for user creation
2020-11-10 01:19:44 +01:00
Artem Grinev
16eca3c1be [users] Apply code format 2020-11-10 01:54:21 +03:00
Artem Grinev
ca033583a4 Simplified logic a bit, made punctuation handling more correct 2020-11-10 01:47:07 +03:00
Artem Grinev
da5fb2d3e1 Improved comment 2020-11-10 01:40:08 +03:00
Artem Grinev
d5e678157d Changed TRANSLITERATOR_ID type to array 2020-11-10 01:23:10 +03:00
Adriaan de Groot
43e271dfec [users] Missing negation 2020-11-06 22:27:46 +01:00
Artem Grinev
94f7efb89f [users] Remove ' from transliterated string 2020-11-04 03:37:25 +03:00
Artem Grinev
f20d0a7593 [users] Name cleanup after transliteration 2020-11-04 03:24:58 +03:00
Artem Grinev
aa5ef7a6b8 [users] New transliterator ID 2020-11-04 03:21:31 +03:00
Artem Grinev
4e54a2aefe [users] Cleaned error handling a bit 2020-11-02 04:01:01 +03:00
Artem Grinev
8e07bb00f9 [users] Construct icu::UnicodeString from QString's utf16 chars directly 2020-11-02 03:52:37 +03:00
Artem Grinev
48eae463cc [users] Full name transliteration support for user creation 2020-11-01 19:45:12 -05:00
Adriaan de Groot
f1772a7eae [users] Create groups in a separate job 2020-10-22 14:11:01 +02:00
Adriaan de Groot
03541470d5 [users] Handle system-group creating specially 2020-10-22 14:08:33 +02:00
Adriaan de Groot
29e6934672 [users] Factor out Sudo creation into separate job 2020-10-21 14:43:45 +02:00
Adriaan de Groot
328a5bbbfb [users] Don't allow continuing with an empty login name
The status for an empty login name is '' (empty), for ok -- this is
so that there is no complaint about it. But it's not ok to
continue with an empty name.
2020-10-19 11:46:08 +02:00
Adriaan de Groot
4d3f20f4a7 [users] Don't allow continuing with an empty login name
The status for an empty login name is '' (empty), for ok -- this is
so that there is no complaint about it. But it's not ok to
continue with an empty name.
2020-10-17 15:48:12 +02:00
Adriaan de Groot
89e279c96a [users] Set auto- and sudo-groups correctly
- Was updating GS only, not internals
- restructure all to update internals, then GS, then emit change signals
2020-10-14 15:21:41 +02:00
Adriaan de Groot
f726634c2f [users] Fix tests for setting shell
- The EXPECT_FAIL value "Abort" stops the test (I wanted 'if this
  unexpectedly passes, raise an error' -- should have read the
  documentation more closely).
- Set the shell in the config object, not just in GS.
2020-10-14 15:21:41 +02:00
Adriaan de Groot
6b2d7f6a42 [users] Protect against JobQueue or GS being NULL
- Avoid SIGSEGV in tests, make sure JobQueue exists, GS optional
2020-10-14 15:21:19 +02:00
Adriaan de Groot
ef70b2c32e [users] Run CreateUserJob off of the Config object
- don't pass in copies or bits of the Config, hand over the whole Config
- don't pluck some parts of the Config from Global Storage
2020-10-14 15:21:10 +02:00
Adriaan de Groot
02e9872a99 [users] Handle detailed groups list
Groups can be specified with must_exist and/or system set,
so they fill in the groups list more carefully.
2020-10-14 15:21:10 +02:00
Adriaan de Groot
ff9abdfc08 [users] The fallback groups are all **system** groups 2020-10-14 15:21:10 +02:00
Adriaan de Groot
ceeab7087c [users] Fix implementation so existing tests pass 2020-10-13 22:12:26 +02:00
Adriaan de Groot
d3135898fd [users] More fine-grained group descriptions
Describe groups with more detail:
 - groups can be system groups (low GID) or not
 - groups may be pre-configured (e.g. come from the unpackfs stage)
2020-10-13 17:35:07 +02:00