From nobody@FreeBSD.org  Mon Apr 23 04:27:36 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id BD6AA16A400
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 23 Apr 2007 04:27:36 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [69.147.83.33])
	by mx1.freebsd.org (Postfix) with ESMTP id AE32B13C465
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 23 Apr 2007 04:27:36 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.13.1/8.13.1) with ESMTP id l3N4Ra0c043486
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 23 Apr 2007 04:27:36 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.13.1/8.13.1/Submit) id l3N4MYk9042962;
	Mon, 23 Apr 2007 04:22:34 GMT
	(envelope-from nobody)
Message-Id: <200704230422.l3N4MYk9042962@www.freebsd.org>
Date: Mon, 23 Apr 2007 04:22:34 GMT
From: sergio lenzi<lenzi.sergio@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: error when adding user inside the gnome desktop using
X-Send-Pr-Version: www-3.0

>Number:         112019
>Category:       ports
>Synopsis:       sysutils/system-tools-backends: error when adding user inside the gnome desktop
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gnome
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 23 04:30:02 GMT 2007
>Closed-Date:    Sun Apr 29 05:32:05 GMT 2007
>Last-Modified:  Sun Apr 29 05:32:05 GMT 2007
>Originator:     sergio lenzi
>Release:        6.2 release
>Organization:
k1 sistemas
>Environment:
FreeBSD lenzinote.cwb.casa 6.2-RELEASE FreeBSD 6.2-RELEASE #1: Thu Apr  5 17:05:10 BRT 2007     lzt@lenzinote.cwb.casa:/usr/src/sys/i386/compile/lenzinote  i386

>Description:
the system-tools-backends ports incorrect set the permission and hashed
password (not md5 type)... when adding a user. as the perl code incorrect
issues the command without the -m and -h (not -H) to add a new user and
set its home directory.

A fix is needed in both gnome-system-tools and system-tools-backends to
correct the problem
>How-To-Repeat:
just add a user using the gnome users-admin  command
>Fix:
apply the patches as it fix the call to liboobs in gnome-system-tools and 
fix the pw adduser in system-tools backends....

Patch attached with submission follows:

diff -ruN --exclude=CVS /usr/ports/sysutils/gnome-system-tools/Makefile /fileserver/ports/sysutils/gnome-system-tools/Makefile
--- /usr/ports/sysutils/gnome-system-tools/Makefile	Tue Apr 10 14:05:02 2007
+++ /fileserver/ports/sysutils/gnome-system-tools/Makefile	Sun Apr 22 23:38:10 2007
@@ -7,6 +7,7 @@
 
 PORTNAME=	gnome-system-tools
 PORTVERSION=	2.18.1
+PORTREVISION=	1
 CATEGORIES=	sysutils gnome
 MASTER_SITES=	${MASTER_SITE_GNOME}
 MASTER_SITE_SUBDIR=	sources/gnome-system-tools/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
diff -ruN --exclude=CVS /usr/ports/sysutils/gnome-system-tools/files/patch-user-settings.c /fileserver/ports/sysutils/gnome-system-tools/files/patch-user-settings.c
--- /usr/ports/sysutils/gnome-system-tools/files/patch-user-settings.c	Wed Dec 31 21:00:00 1969
+++ /fileserver/ports/sysutils/gnome-system-tools/files/patch-user-settings.c	Sun Apr 22 23:35:05 2007
@@ -0,0 +1,15 @@
+--- src/users/user-settings.c.orig	Sun Apr 22 23:32:58 2007
++++ src/users/user-settings.c	Sun Apr 22 23:34:18 2007
+@@ -632,10 +632,10 @@
+ 		password_changed = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget), "changed"));
+ 
+ 		if (password_changed)
+-			oobs_user_set_password (user, gtk_entry_get_text (GTK_ENTRY (widget)));
++			oobs_user_set_crypted_password (user, gtk_entry_get_text (GTK_ENTRY (widget)));
+ 	} else {
+ 		widget = gst_dialog_get_widget (tool->main_dialog, "user_settings_random_passwd");
+-		oobs_user_set_password (user, gtk_entry_get_text (GTK_ENTRY (widget)));
++		oobs_user_set_crypted_password (user, gtk_entry_get_text (GTK_ENTRY (widget)));
+ 	}
+ 
+ 	group = get_main_group (oobs_user_get_login_name (user));
diff -ruN --exclude=CVS /usr/ports/sysutils/system-tools-backends/Makefile /fileserver/ports/sysutils/system-tools-backends/Makefile
--- /usr/ports/sysutils/system-tools-backends/Makefile	Fri Apr 13 01:00:18 2007
+++ /fileserver/ports/sysutils/system-tools-backends/Makefile	Sun Apr 22 22:02:18 2007
@@ -8,7 +8,7 @@
 
 PORTNAME=	system-tools-backends
 PORTVERSION=	2.2.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	sysutils gnome
 MASTER_SITES=	${MASTER_SITE_GNOME}
 MASTER_SITE_SUBDIR=	sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
diff -ruN --exclude=CVS /usr/ports/sysutils/system-tools-backends/files/patch-Users /fileserver/ports/sysutils/system-tools-backends/files/patch-Users
--- /usr/ports/sysutils/system-tools-backends/files/patch-Users	Wed Dec 31 21:00:00 1969
+++ /fileserver/ports/sysutils/system-tools-backends/files/patch-Users	Sun Apr 22 23:06:00 2007
@@ -0,0 +1,47 @@
+--- Users/Users.pm.orig	Thu Oct  5 09:27:21 2006
++++ Users/Users.pm	Sun Apr 22 23:05:41 2007
+@@ -458,7 +458,7 @@
+ 	
+   if ($Utils::Backend::tool{"system"} eq "FreeBSD")
+   {
+-    $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' ";
++    $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' -r ";
+   }
+   else
+   {
+@@ -538,10 +538,10 @@
+   {
+     my $pwdpipe;
+     my $home;
++    my $user;
+ 
+-    # FreeBSD doesn't create the home directory
+     $home = $$user[$HOME];
+-    &Utils::File::run ("$tool_mkdir -p $home");
++    $user = $$user[$LOGIN];
+ 
+     $command = "$cmd_pw useradd " .
+         " -n \'" . $$user[$LOGIN] . "\'" .
+@@ -549,11 +549,12 @@
+         " -d \'" . $$user[$HOME]  . "\'" .
+         " -g \'" . $$user[$GID]   . "\'" .
+         " -s \'" . $$user[$SHELL] . "\'" .
+-        " -H 0"; # pw(8) reads password from STDIN
++        " -m -h 0"; # pw(8) reads password from STDIN
+ 
+     $pwdpipe = &Utils::File::run_pipe_write ($command);
+     print $pwdpipe $$user[$PASSWD];
+     &Utils::File::close_file ($pwdpipe);
++    &Utils::File::run ("chown -R $user $home");
+   }
+   elsif ($Utils::Backend::tool{"system"} eq "SunOS")
+   {
+@@ -629,7 +630,7 @@
+         " -d \'" . $$new_user[$HOME]  . "\'" .
+         " -g \'" . $$new_user[$GID]   . "\'" .
+         " -s \'" . $$new_user[$SHELL] . "\'" .
+-        " -H 0"; # pw(8) reads password from STDIN
++        " -h 0"; # pw(8) reads password from STDIN
+ 
+     $pwdpipe = &Utils::File::run_pipe_write ($command);
+     print $pwdpipe $$new_user[$PASSWD];

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->gnome 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon Apr 23 04:41:17 UTC 2007 
Responsible-Changed-Why:  
Fix this up as a ports PR and assign properly. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=112019 
State-Changed-From-To: open->closed 
State-Changed-By: marcus 
State-Changed-When: Sun Apr 29 05:31:47 UTC 2007 
State-Changed-Why:  
Your work on g-s-t is greatly appreciated.  Keep those patches coming. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=112019 
>Unformatted:
