Update to accountsservice-0.6.14. Still needs some major work.

This commit is contained in:
ajacoutot 2011-09-08 13:15:52 +00:00
parent 9f92a453d0
commit de096dd44b
7 changed files with 106 additions and 90 deletions

View File

@ -1,11 +1,9 @@
# $OpenBSD: Makefile,v 1.12 2011/07/04 05:16:47 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.13 2011/09/08 13:15:52 ajacoutot Exp $
COMMENT= D-Bus interface for user account query and manipulation
DISTNAME= accountsservice-0.6.12
EXTRACT_SUFX= .tar.bz2
REVISION= 10
DISTNAME= accountsservice-0.6.14
EXTRACT_SUFX= .tar.xz
SHARED_LIBS += accountsservice 0.0 # 0.0
@ -34,6 +32,8 @@ BUILD_DEPENDS= devel/gobject-introspection
LIB_DEPENDS= sysutils/polkit \
x11/dbus-glib
RUN_DEPENDS= sysutils/consolekit
USE_GMAKE= Yes
CONFIGURE_STYLE=gnu

View File

@ -1,5 +1,5 @@
MD5 (accountsservice-0.6.12.tar.bz2) = dOLaz0QQv6to2zD8wtqIGQ==
RMD160 (accountsservice-0.6.12.tar.bz2) = r9Keilvke6secVx710ekAjZYH7c=
SHA1 (accountsservice-0.6.12.tar.bz2) = i99BNFBad8cIjo39S/+LRK/zUDE=
SHA256 (accountsservice-0.6.12.tar.bz2) = H12YPQ4bZD9whekJkUVcWSDQZwluESKtF4T7luIuLGI=
SIZE (accountsservice-0.6.12.tar.bz2) = 344686
MD5 (accountsservice-0.6.14.tar.xz) = NCL/FY7ig0NExTRRbl6KnQ==
RMD160 (accountsservice-0.6.14.tar.xz) = rQPmGM4SN4V0asfjcxHvLsVl9Jo=
SHA1 (accountsservice-0.6.14.tar.xz) = p0gVAyJrB52TplzBA4ELyuMm6Hc=
SHA256 (accountsservice-0.6.14.tar.xz) = /PJvUZhSE5LxEHipF35DDgygm9a8SBsQb8DLvFhr/WQ=
SIZE (accountsservice-0.6.14.tar.xz) = 286220

View File

@ -1,13 +1,27 @@
$OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
--- src/daemon.c.orig Thu May 19 05:39:12 2011
+++ src/daemon.c Fri Jun 17 16:25:09 2011
@@ -50,11 +50,14 @@
$OpenBSD: patch-src_daemon_c,v 1.7 2011/09/08 13:15:52 ajacoutot Exp $
--- src/daemon.c.orig Tue Aug 16 14:53:31 2011
+++ src/daemon.c Thu Sep 8 15:09:16 2011
@@ -32,7 +32,9 @@
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
+#ifndef __OpenBSD__
#include <utmpx.h>
+#endif
#include <glib.h>
#include <glib/gi18n.h>
@@ -50,13 +52,17 @@
#define PATH_PASSWD "/etc/passwd"
#define PATH_SHADOW "/etc/shadow"
#define PATH_LOGIN_DEFS "/etc/login.defs"
-#define PATH_GDM_CUSTOM "/etc/gdm/custom.conf"
+#define PATH_GDM_CUSTOM "${SYSCONFDIR}/gdm/custom.conf"
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
+#define FALLBACK_MINIMAL_UID 1000
+#endif
+
#ifndef FALLBACK_MINIMAL_UID
#define FALLBACK_MINIMAL_UID 500
#endif
@ -17,7 +31,25 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
static const char *default_excludes[] = {
"bin",
@@ -488,22 +491,32 @@ reload_passwd (Daemon *daemon)
@@ -238,6 +244,9 @@ daemon_local_user_is_excluded (Daemon *daemon, const g
static void
reload_wtmp_history (Daemon *daemon)
{
+#ifdef __OpenBSD__
+ return;
+#else
struct utmpx *wtmp_entry;
GHashTable *login_frequency_hash;
GHashTableIter iter;
@@ -298,6 +307,7 @@ reload_wtmp_history (Daemon *daemon)
g_hash_table_foreach (login_frequency_hash, (GHFunc) g_free, NULL);
g_hash_table_unref (login_frequency_hash);
+#endif
}
static void
@@ -326,22 +336,32 @@ reload_passwd (Daemon *daemon)
GSList *old_users;
GSList *new_users;
GSList *list;
@ -50,7 +82,7 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
/* Skip users below MINIMAL_UID... */
if (daemon_local_user_is_excluded (daemon, pwent->pw_name, pwent->pw_uid)) {
g_debug ("skipping user: %s", pwent->pw_name);
@@ -553,10 +566,14 @@ reload_passwd (Daemon *daemon)
@@ -391,10 +411,14 @@ reload_passwd (Daemon *daemon)
}
}
@ -65,8 +97,8 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
g_slist_foreach (new_users, (GFunc) g_object_thaw_notify, NULL);
g_slist_foreach (new_users, (GFunc) g_object_unref, NULL);
@@ -676,9 +693,16 @@ on_passwd_monitor_changed (GFileMonitor *monitor,
reload_users (daemon);
@@ -554,9 +578,16 @@ on_gdm_monitor_changed (GFileMonitor *monitor,
queue_reload_autologin (daemon);
}
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
@ -82,7 +114,7 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
GError *error;
char *contents;
gboolean contents_loaded;
@@ -728,6 +752,7 @@ out:
@@ -606,6 +637,7 @@ out:
g_free (contents);
return uid;
}
@ -90,12 +122,12 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
static void
daemon_init (Daemon *daemon)
@@ -1119,7 +1144,12 @@ daemon_create_user_authorized_cb (Daemon
@@ -1002,7 +1034,12 @@ daemon_create_user_authorized_cb (Daemon
CreateUserData *cd = data;
User *user;
GError *error;
+#ifndef __OpenBSD__
gchar *argv[8];
gchar *argv[9];
+#else
+ gchar *argv[12];
+ gchar *gargv[3];
@ -103,7 +135,7 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
if (getpwnam (cd->user_name) != NULL) {
throw_error (context, ERROR_USER_EXISTS, "A user with name '%s' already exists", cd->user_name);
@@ -1127,6 +1157,23 @@ daemon_create_user_authorized_cb (Daemon
@@ -1010,6 +1047,22 @@ daemon_create_user_authorized_cb (Daemon
return;
}
@ -122,12 +154,11 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
+ return;
+ }
+#endif
+
+
sys_log (context, "create user '%s'", cd->user_name);
argv[0] = "/usr/sbin/useradd";
@@ -1135,13 +1182,32 @@ daemon_create_user_authorized_cb (Daemon
@@ -1018,15 +1071,34 @@ daemon_create_user_authorized_cb (Daemon
argv[3] = cd->real_name;
if (cd->account_type == ACCOUNT_TYPE_ADMINISTRATOR) {
argv[4] = "-G";
@ -141,8 +172,9 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
+ argv[11] = NULL;
+#else
argv[5] = "wheel";
argv[6] = cd->user_name;
argv[7] = NULL;
argv[6] = "--";
argv[7] = cd->user_name;
argv[8] = NULL;
+#endif
}
else if (cd->account_type == ACCOUNT_TYPE_STANDARD) {
@ -154,16 +186,18 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
+ argv[8] = cd->user_name;
+ argv[9] = NULL;
+#else
argv[4] = cd->user_name;
argv[5] = NULL;
argv[4] = "--";
argv[5] = cd->user_name;
argv[6] = NULL;
+#endif
}
else {
throw_error (context, ERROR_FAILED, "Don't know how to add user of type %d", cd->account_type);
@@ -1212,6 +1278,23 @@ daemon_delete_user_authorized_cb (Daemon
@@ -1096,6 +1168,23 @@ daemon_delete_user_authorized_cb (Daemon
return;
}
+
+#ifdef __OpenBSD__
+ GError *gerror;
+ gchar *gargv[2];
@ -180,25 +214,6 @@ $OpenBSD: patch-src_daemon_c,v 1.6 2011/07/03 20:16:35 ajacoutot Exp $
+ return;
+ }
+#endif
+
sys_log (context, "delete user '%s' (%d)", pwent->pw_name, ud->uid);
argv[0] = "/usr/sbin/userdel";
@@ -1381,7 +1464,7 @@ load_autologin (Daemon *daemon,
GError *local_error;
gchar *string;
- filename = "/etc/gdm/custom.conf";
+ filename = "${SYSCONFDIR}/X11/gdm/custom.conf";
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile,
@@ -1431,7 +1514,7 @@ save_autologin (Daemon *daemon,
gchar *data;
gboolean result;
- filename = "/etc/gdm/custom.conf";
+ filename = "${SYSCONFDIR}/X11/gdm/custom.conf";
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile,

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-src_libaccountsservice_Makefile_in,v 1.1.1.1 2011/05/22 10:57:32 ajacoutot Exp $
--- src/libaccountsservice/Makefile.in.orig Sun May 22 12:29:39 2011
+++ src/libaccountsservice/Makefile.in Sun May 22 12:29:47 2011
@@ -323,7 +323,7 @@ libaccountsservice_la_LDFLAGS = \
$OpenBSD: patch-src_libaccountsservice_Makefile_in,v 1.2 2011/09/08 13:15:52 ajacoutot Exp $
--- src/libaccountsservice/Makefile.in.orig Sun Sep 4 22:12:02 2011
+++ src/libaccountsservice/Makefile.in Thu Sep 8 14:14:07 2011
@@ -324,7 +324,7 @@ libaccountsservice_la_LDFLAGS = \
libaccountsservice_la_LIBADD = \
$(LIBACCOUNTSSERVICE_LIBS) \

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
--- src/user.c.orig Thu May 19 05:38:50 2011
+++ src/user.c Mon Jul 4 07:13:32 2011
$OpenBSD: patch-src_user_c,v 1.8 2011/09/08 13:15:52 ajacoutot Exp $
--- src/user.c.orig Tue Aug 16 14:53:31 2011
+++ src/user.c Thu Sep 8 15:05:49 2011
@@ -29,7 +29,11 @@
#include <sys/wait.h>
#include <unistd.h>
@ -22,22 +22,24 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
enum {
PROP_0,
@@ -430,9 +434,13 @@ account_type_from_pwent (struct passwd *pwent)
@@ -430,10 +434,15 @@ account_type_from_pwent (struct passwd *pwent)
{
struct group *grp;
gid_t wheel;
- gid_t *groups;
gint ngroups;
gint i;
+#ifdef __OpenBSD__
+ gid_t groups[NGROUPS_MAX + 1];
+#else
+ gid_t *groups;
+#endif
+
if (pwent->pw_uid == 0) {
g_debug ("user is root so account type is administrator");
@@ -446,16 +454,28 @@ account_type_from_pwent (struct passwd *pwent)
return ACCOUNT_TYPE_ADMINISTRATOR;
@@ -446,16 +455,28 @@ account_type_from_pwent (struct passwd *pwent)
}
wheel = grp->gr_gid;
@ -66,7 +68,7 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
return ACCOUNT_TYPE_STANDARD;
}
@@ -464,7 +484,11 @@ void
@@ -464,7 +485,11 @@ void
user_local_update_from_pwent (User *user,
struct passwd *pwent)
{
@ -78,7 +80,7 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
gchar *real_name;
gboolean changed;
const gchar *passwd;
@@ -555,16 +579,31 @@ user_local_update_from_pwent (User *user,
@@ -555,16 +580,31 @@ user_local_update_from_pwent (User *user,
}
passwd = pwent->pw_passwd;
@ -110,7 +112,7 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
if (user->locked != locked) {
user->locked = locked;
@@ -579,11 +618,13 @@ user_local_update_from_pwent (User *user,
@@ -579,11 +619,13 @@ user_local_update_from_pwent (User *user,
mode = PASSWORD_MODE_REGULAR;
}
@ -124,7 +126,7 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
if (user->password_mode != mode) {
user->password_mode = mode;
@@ -686,7 +727,7 @@ save_extra_data (User *user)
@@ -686,7 +728,7 @@ save_extra_data (User *user)
error = NULL;
data = g_key_file_to_data (keyfile, NULL, &error);
if (error == NULL) {
@ -133,7 +135,7 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
user->user_name,
NULL);
g_file_set_contents (filename, data, -1, &error);
@@ -707,9 +748,9 @@ move_extra_data (const gchar *old_name,
@@ -707,9 +749,10 @@ move_extra_data (const gchar *old_name,
gchar *old_filename;
gchar *new_filename;
@ -141,26 +143,23 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
+ old_filename = g_build_filename ("/var/db/AccountsService/users",
old_name, NULL);
- new_filename = g_build_filename ("/var/lib/AccountsService/users",
+
+ new_filename = g_build_filename ("/var/db/AccountsService/users",
new_name, NULL);
g_rename (old_filename, new_filename);
@@ -1550,16 +1591,33 @@ user_change_locked_authorized_cb (Daemon
{
gboolean locked = GPOINTER_TO_INT (data);
@@ -1556,14 +1599,28 @@ user_change_locked_authorized_cb (Daemon
GError *error;
+
gchar *argv[5];
+#ifdef __OpenBSD__
+ gchar *argv[5];
+ gchar *lockshell, *nolockshell;
+ lockshell = g_strjoin (NULL, user->shell, "-", NULL);
+ nolockshell = g_strdup(user->shell);
+ nolockshell = g_strdup (user->shell);
+ if (nolockshell[strlen(nolockshell) - 1] == '-')
+ nolockshell[strlen(nolockshell)-1] = '\0';
+#else
gchar *argv[4];
+#endif
+
if (user->locked != locked) {
sys_log (context,
"%s account of user '%s' (%d)",
@ -170,16 +169,15 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
+ argv[1] = "-s";
+ argv[2] = locked ? lockshell : nolockshell;
+ argv[3] = user->user_name;
+ argv[4] = NULL;
+#else
argv[1] = locked ? "-L" : "-U";
argv[2] = user->user_name;
argv[3] = NULL;
argv[2] = "--";
argv[3] = user->user_name;
+#endif
argv[4] = NULL;
error = NULL;
if (!spawn_with_login_uid (context, argv, &error)) {
@@ -1568,6 +1626,10 @@ user_change_locked_authorized_cb (Daemon
@@ -1573,6 +1630,11 @@ user_change_locked_authorized_cb (Daemon
return;
}
@ -187,10 +185,11 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
+ g_free (lockshell);
+ g_free (nolockshell);
+#endif
+
user->locked = locked;
g_signal_emit (user, signals[CHANGED], 0);
@@ -1634,7 +1696,11 @@ user_change_account_type_authorized_cb (Daemon
@@ -1639,7 +1701,11 @@ user_change_account_type_authorized_cb (Daemon
}
switch (account_type) {
case ACCOUNT_TYPE_ADMINISTRATOR:
@ -202,7 +201,7 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
break;
default:
/* remove excess comma */
@@ -1753,9 +1819,16 @@ user_change_password_mode_authorized_cb (Daemon
@@ -1761,9 +1827,15 @@ user_change_password_mode_authorized_cb (Daemon
}
else if (user->locked) {
argv[0] = "/usr/sbin/usermod";
@ -210,12 +209,11 @@ $OpenBSD: patch-src_user_c,v 1.7 2011/07/04 05:16:47 ajacoutot Exp $
+ argv[1] = "-s";
+ argv[2] = g_strndup (user->shell, sizeof(user->shell));
+ argv[3] = user->user_name;
+ argv[4] = NULL;
+#else
argv[1] = "-U";
argv[2] = user->user_name;
argv[3] = NULL;
argv[2] = "--";
argv[3] = user->user_name;
+#endif
argv[4] = NULL;
error = NULL;
if (!spawn_with_login_uid (context, argv, &error)) {

View File

@ -1,9 +1,9 @@
$OpenBSD: patch-src_util_c,v 1.3 2011/05/29 08:27:05 ajacoutot Exp $
$OpenBSD: patch-src_util_c,v 1.4 2011/09/08 13:15:52 ajacoutot Exp $
We don't use /proc on OpenBSD.
--- src/util.c.orig Thu May 19 05:38:50 2011
+++ src/util.c Sun May 29 09:42:39 2011
--- src/util.c.orig Tue Aug 16 14:53:31 2011
+++ src/util.c Thu Sep 8 14:14:07 2011
@@ -25,7 +25,7 @@
#include <sys/types.h>
#include <sys/stat.h>
@ -56,7 +56,7 @@ We don't use /proc on OpenBSD.
{
@@ -85,6 +97,7 @@ _polkit_subject_get_cmdline (PolkitSubject *subject, g
*pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (process));
*uid = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (process), NULL);
*uid = polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (process));
+#ifndef __OpenBSD__
filename = g_strdup_printf ("/proc/%d/cmdline", *pid);

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2011/05/22 10:57:32 ajacoutot Exp $
@comment $OpenBSD: PLIST,v 1.2 2011/09/08 13:15:52 ajacoutot Exp $
@unexec-delete rm -rf /var/db/AccountsService/icons/*
@unexec-delete rm -rf /var/db/AccountsService/users/*
%%SHARED%%
@ -45,6 +45,8 @@ share/locale/ca@valencia/LC_MESSAGES/accounts-service.mo
share/locale/cs/LC_MESSAGES/accounts-service.mo
share/locale/de/LC_MESSAGES/accounts-service.mo
share/locale/el/LC_MESSAGES/accounts-service.mo
share/locale/eo/LC_MESSAGES/accounts-service.mo
share/locale/es/LC_MESSAGES/accounts-service.mo
share/locale/fa_IR/
share/locale/fa_IR/LC_MESSAGES/
share/locale/fa_IR/LC_MESSAGES/accounts-service.mo
@ -74,6 +76,7 @@ share/locale/sr@latin/LC_MESSAGES/accounts-service.mo
share/locale/sv/LC_MESSAGES/accounts-service.mo
share/locale/tr/LC_MESSAGES/accounts-service.mo
share/locale/uk/LC_MESSAGES/accounts-service.mo
share/locale/vi/LC_MESSAGES/accounts-service.mo
share/locale/wa/
share/locale/wa/LC_MESSAGES/
share/locale/wa/LC_MESSAGES/accounts-service.mo