summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-01-26Allow committing boot services separatelyMilan Bouchet-Valat7-87/+158
Just like users and groups, we shouldn't commit all services at the same time, since this often leads to breaking services that should not have been touched at all. Create a new ServiceConfig module that runs new set_service() and get_service() functions. These are calling platform-dependent equivalents created by moving the relevant code out of global set() functions. Committing all ServicesConfig at once is still supported since it doesn't conflict with the new module. We call it ServiceConfig2 to be consistent with the new modules created with the same design in mind.
2010-01-26Support encrypted home directoriesMilan Bouchet-Valat2-2/+12
When 'mount.ecryptfs' is in the path on Debian platforms, tell the clients we support encrypted home dirs for new users. Use this with the "--encrypt-home" argument to adduser.
2010-01-26Bump version to 2.9.2Milan Bouchet-Valat1-1/+1
2010-01-25Add vendor field to PolicyKit .policy fileMilan Bouchet-Valat1-0/+2
This is cleaner, even if the security outcome is low...
2010-01-19Updated Spanish translationFrancisco Javier F. Serrador1-23/+11
2010-01-17Release 2.9.1Milan Bouchet-Valat1-0/+23
2010-01-17Add PolicyKit authentication D-Bus methodMilan Bouchet-Valat5-121/+136
New org.freedesktop.SystemToolsBackends.Authenticate interface, which can be called on all modules. This method takes no arguments, and returns a boolean, or error for cancelled or failed. It's implemented via dispatcher_filter_func(), calling dispatch_auth_message(). New check_polkit_auth() function to centralize PolicyKit authorizations handling, returning error when needed. We now require PolicyKit instead of it being an optional dependency, and need version 0.94 so that we can remove the PID checking workaround. PolicyKit action for SelfConfig is now really used, so set it to "yes" since settings that can be changed that way are minor (just like the old behavior).
2010-01-17Fix SelfConfigMilan Bouchet-Valat2-3/+3
We don't need to use a struct, since the whole message only holds this object. Update the parameters taken in set_self(), which were outdated.
2010-01-17Improve security check in SelfConfig handlingMilan Bouchet-Valat1-3/+4
Never allow an UID of 0 to pass, in case of strange failure. Use gulong for UID since it's what D-Bus uses.
2010-01-17Fix missing D-Bus .service files for {User(s)|Self|Group(s)}Config2Milan Bouchet-Valat6-6/+16
This was obviously preventing clients from starting the needed backends via D-Bus activation.
2010-01-17Bump version to 2.9.1Milan Bouchet-Valat1-1/+1
2010-01-16Updated German translationMario Blättermann1-17/+11
2010-01-15Updated Slovenian translationMatej Urbančič1-10/+9
2010-01-13Improve PolicyKit action messageMilan Bouchet-Valat1-2/+2
"System policy prevents..." is really not user-friendly, and doesn't mean anything clear. Use a nicer "You need to autenticate to..." bgo#557770
2010-01-11Release 2.29.0Milan Bouchet-Valat1-0/+29
2010-01-11Return new user struct when creating userMilan Bouchet-Valat2-2/+6
Clients need to know what values were chosen for fields left blank. This also allows us to return NULL in case of failure, which provides error checking.
2010-01-11New groups protocolMilan Bouchet-Valat5-46/+144
GroupsConfig is now only used to fetch list of groups and settings. All commit operations now go through GroupConfig: set(), add() and del() methods. This avoids problems when committing the whole list, which could lead to removing all groups on the system.
2010-01-11Use PAM to set passwordMilan Bouchet-Valat2-126/+38
Instead of getting the password encrypted by the client, get it in plain text, and set it via PAM. This behavior is standard on all supported platforms, which allows for code simplification, and avoids bugs when new password encryption algorithms appear. Never return the encrypted password on the bus. Instead, PAM should always be used to change it, possibly authenticating when changing own password.
2010-01-11New SelfConfig protocolMilan Bouchet-Valat5-61/+123
SelfConfig is now a real object, and a dispatcher redirects messages with the UID of the caller. Rename a few calls that were naming it user_config, to avoid any confusion with the general UserConfig. Add SelfConfig.pm, only accepting GECOS fields, locale and location, since other parameters can't be changed without admin authentication. Old and new passwords are required, since we'll use PAM to change it. Add Users.pm::[sg]et_self() to handle the DBus methods. Update DBus config file as needed.
2010-01-11Allow user fields to be empty on creation to use defaultsMilan Bouchet-Valat1-35/+51
When creating an user, empty string or maximum unsigned 32 bits integer value means "default", platform tools will then apply default system settings themselves. This applies to all parameters but user login, which is mandatory. Most clients should use this instead of guessing the policy by themselves. On FreeBSD, we need to choose the name of the home dir ourselves, since pw doesn't create it.
2010-01-11New users D-Bus protocolMilan Bouchet-Valat5-118/+143
Going through UsersConfig to commit changes to users is not the best solution since this can affect users that were not edited in case of a bug on the client's side. Thus, remove UsersConfig::set() in favor of new UserConfig::add(), del() and set(), which take a generic user structure. Allow these functions in dispatcher.c, but always check for "set" PolicyKit authorization (making distinction between "add", "set", "del" makes no sense at this point). Add some fields to the user struct to be used later: encrypted home, locale and location, plus password and home directory flags. GID is now an unsigned 32 bits integer, with its max value meaning no group. Rename D-Bus interfaces to UserConfig2 and UsersConfig2, since we break compatibility. Update DBus config file to reflect that.
2010-01-11Improve error reporting when running external commandsMilan Bouchet-Valat2-6/+14
exec() does not allow checking the returned error code. Use system() instead, even if we still need to fork to set stdin, stdout and LC_ALL. Add a new report when launching a command failed.
2010-01-11Bump version to 2.9.0Milan Bouchet-Valat1-1/+1
2009-11-30Update Simplified Chinese translation.Aron Xu1-15/+20
2009-11-28Added LowGerman translationNils-Christoph Fiedler1-0/+33
2009-11-28Added LowGerman translationNils-Christoph Fiedler1-0/+1
2009-11-15Release 2.8.3STB_2_8_3Milan Bouchet-Valat2-1/+24
2009-11-06Fix date settingMilan Bouchet-Valat1-4/+4
Another wrong command was preventing modifications from being applied.
2009-11-02Fix user password modificationMilan Bouchet-Valat1-0/+2
Commit ee59351bfa31ee60779a20a79b1b49f308a777b0 broke it by removing the password parameter.
2009-10-31Fix major typo in command modifying usersMilan Bouchet-Valat1-2/+1
Passing a variable that did not exist on default platform completely broke users modification in most cases.
2009-10-31Fix mistaken line in NEWSMilan Bouchet-Valat1-1/+1
Copied and pasted too quickly...
2009-10-14Added nbKjartan Maraas1-0/+1
2009-10-14Added Norwegian bokmål translation.Kjartan Maraas1-0/+34
2009-10-13Updated Catalan translationDavid Planella1-14/+21
2009-10-13Updated Slovenian translationMatej Urbančič1-11/+16
2009-09-30Release 2.8.2STB_2_8_2Milan Bouchet-Valat2-1/+34
2009-09-30Set service priority to 50 when negative or nullMilan Bouchet-Valat1-0/+1
This will prevent bad configuration from reaching the system. In addition, liboobs can now use priority 0 to mean "default value", so that the backends choose the default priority by themselves - GUI-side code should not deal with this.
2009-09-30Base Upstart support (for /etc/init.d scripts only)Milan Bouchet-Valat2-17/+252
Add a new "upstart" init system type that is for now a modified copy of our SystemV support. Use it under Debian systems. More precisely, we need to discard scripts from /etc/init.d that are also present in /etc/init, because they're only compatibility symlinks we should not play with. We also use "service" to start/stop scripts, instead of running them directly. This way, we don't break under Upstart, but only support traditional scripts for now. Support for Upstart jobs should come later.
2009-09-28Remove versioning for Debian systems, and make Ubuntu follow DebianMilan Bouchet-Valat8-87/+29
Versions are confusing, and we should only support the current distribution release, since backports to stable releases are very unlikely. All this complexity was creating bugs with new versions not being supported properly. Adapted from a patch shipped by Debian as 01_debian_4.0.patch.
2009-09-28Bugs 519273 & 346342 - Clean Utils::File::run() logic by using array of ↵Milan Bouchet-Valat11-166/+174
arguments Using system() with a string instead of an array raises various issues when strings passed include special chars. Overall, it's claner and safer to use an array everywhere. This requires us to use our own execution code since system() does not accept setting STDOUT, STDERR, LC_ALL, and starting processes in the background when using an array. Note that run_backticks() still use the old logic, which is safe(r) because those commandlines are static. However, this commit also cleans get_cmd_path() by merging do_get_cmd_path() into it, and removing duplicate settings like $PATH.
2009-09-21Updated German translationMario Blättermann1-12/+20
2009-09-15Don't daemonize by defaultMilan Bouchet-Valat1-4/+6
D-Bus activation can return an error if we daemonize, so we should not do this be default, and let D-Bus daemonize the dispatcher. Thus, add a -D option to force this behavior if needed, and make -n a no-op. In the process, the commit removes the handling of the old STB_NO_DAEMON envvar, which has become useless. This fixes https://bugs.launchpad.net/bugs/411533. See also an explanation at https://bugzilla.gnome.org/show_bug.cgi?id=583356.
2009-09-15Updated Portuguese translationDuarte Loreto2-0/+39
2009-09-13Updated British English translationPhilip Withnall1-13/+19
2009-09-13Updated Japanese translationTakeshi AIHANA1-12/+16
2009-09-07Hungarian translation updatedGabor Kelemen1-18/+23
2009-08-31bfo#16642 - Use /usr/bin/perl instead of environment perlEmilio Pozuelo Monfort11-11/+11
This prevents custom installs from potentially breaking the stb. Seems to be the common practice actually.
2009-08-30Updated Spanish translationJorge González1-13/+21
2009-08-29Updated Czech translationPetr Kovar2-15/+20
Also adjusted linguae in LINGUAS.
2009-08-29Updated Polish translationTomasz Dominikowski1-17/+21