Currently we get MAXNAMELEN from glibc's LOGIN_NAME_MAX, if available,
and sysconf otherwise. But the maximum username length supported by
glibc and the kernel is actually way larger than the maximum length that
actually works in practice. On Linux, anything larger than 32 characters
is not going to fit into utmp, and will therefore be rejected by
useradd. Then gnome-control-center will spit out a confusing error
message dialog.
Let's spare our users from that.
useradd (in shadow-utils) gets its max name size from the following
magic:
/* Maximum length of usernames */
#ifdef HAVE_UTMPX_H
# include <utmpx.h>
# define USER_NAME_MAX_LENGTH (sizeof (((struct utmpx *)NULL)->ut_user))
#else
# include <utmp.h>
# ifdef HAVE_STRUCT_UTMP_UT_USER
# define USER_NAME_MAX_LENGTH (sizeof (((struct utmp *)NULL)->ut_user))
# else
# ifdef HAVE_STRUCT_UTMP_UT_NAME
# define USER_NAME_MAX_LENGTH (sizeof (((struct utmp *)NULL)->ut_name))
# else
# define USER_NAME_MAX_LENGTH 32
# endif
# endif
#endif
It's more work than necessary. utmpx is standardized by POSIX (it's
actually an XSI extension), whereas utmp is not, so let's just use
utmpx. This ought to work on at least FreeBSD as well. And if any free
operating systems that care about GNOME don't have utmpx yet, no doubt
they'll send patches.
https://bugzilla.gnome.org/show_bug.cgi?id=724193
We assume that we only generate valid usernames, so make sure they're
short enough to be used, else we'll display a dialog with a meaningless
error message when useradd fails.
Note that this commit doesn't completely fix the bug, as our definition
of MAXNAMELEN is different from useradd's.
https://bugzilla.gnome.org/show_bug.cgi?id=766401
Recent versions of Gettext are able to translate several formats
that are used in GNOME applications. This patch migrates from
Intltool to Gettext by using meson's i18n features.
https://bugzilla.gnome.org/show_bug.cgi?id=787588
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
In order to share the libgd and gvc modules between autotools and
meson, this patch moves their directories to subprojects
directory and updates autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
Since we don't maintain two different shells anymore, there
is no need to maintain the two different sets of categories
in the desktop files.
This commit also drops the "#ifdef CC_ENABLE_ALT_CATEGORIES"
blocks, since the previous commit removed that define.
https://bugzilla.gnome.org/show_bug.cgi?id=790923
It is possible to use weak passwords in dialogs currently, which is
not intentional and leads to problems in case of changing password of
current user. This regression was introduced by Bug 780002, which added
new strength level for weak passwords. Let's reflect the new level also
when setting sensitivity...
https://bugzilla.gnome.org/show_bug.cgi?id=788122
gtk_menu_popup has been deprecated since version 3.22.
The use of gtk_menu_popup lately was causing gtk+ to have to guess
the right position to present the widget, causing the menu to
eventually appear in a wrong position under Wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=780498
Don't say "Good password!" for all acceptable password (e.g. weak passwords).
Say explicitely that password needs to be longer for short passwords.
https://bugzilla.gnome.org/show_bug.cgi?id=780002
Commit 8e6fccc introduced pixel-size handling for user icon, however,
the icon is not resized on each pixel-size change as it should. This
is not problem currently, but might be problem in the future...
https://bugzilla.gnome.org/show_bug.cgi?id=778458
Widgets on local and enterprise pages of add user dialog don't have
same width regardless of size groups. It is caused by different margins
and borders of various widgets. Let's change them to be like in mockup.
https://bugzilla.gnome.org/show_bug.cgi?id=778457
The label indicating which photo in the Carousel belongs to the
current user had the <small> markup within the translatable string,
causing unnecessary work for translators. See
https://wiki.gnome.org/TranslationProject/DevGuidelines/Avoid%20markup%20wherever%20possible
This patch formats the string with g_strdup_printf, leaving the
markup tags out of the translatable message.
Wrong variables are used to store timeout id, consequently, the sources
are not properly removed in all cases. Then the dialog may crash in certain
cases if it is closed before the source functions are called.
https://bugzilla.gnome.org/show_bug.cgi?id=778595
g_file_info_get_content_type() returns an internal string, and we were
freeing the file_info we got it from in the next line, so it's a miracle
that the mime_type was ever not garbage.
https://bugzilla.gnome.org/show_bug.cgi?id=778424
UmCarouselItem is a button, but since we have now the arrow which
points to the selected item, we don't need any other visual
feedback (such as hover border/background).
https://bugzilla.gnome.org/show_bug.cgi?id=767065
Set a margin for the username label instead of using the container
spacing property. In doing so the labels are not so far apart from
each other, but still distant from the profile icon/image.
https://bugzilla.gnome.org/show_bug.cgi?id=767065
UmCarousel is an horizontal container that contains UmCarouselItem
children. These items are paginated 3 at 3 at the time.
UmCarousel intents to act as controller for content containers. It
emitis the "item-activated" signal whenever an UmCarouselItem gets
activated (clicked).
It automatically activates the first UmCarouselItem of the current
vsible page.
The visibility of the go-back and go-next button is automatically
set based on the number of children.
These changes are according to the new User Accounts panel mockups
at https://wiki.gnome.org/Design/SystemSettings/UserAccountshttps://bugzilla.gnome.org/show_bug.cgi?id=767065