You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.4 KiB
82 lines
3.4 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../gnomesu/features.patch |
|
# Copyright (C) 2004 - 2006 The T2 SDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This patch file is dual-licensed. It is available under the license the |
|
# patched project is licensed under, as long as it is an OpenSource license |
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|
# of the GNU General Public License as published by the Free Software |
|
# Foundation; either version 2 of the License, or (at your option) any later |
|
# version. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
This feature patch was primarily developed for the Archivista Scan Server Box, |
|
however it should be useful for others as well. |
|
|
|
First we do not want to let the joe user see cryptic commands to be executed |
|
when asked for authentication (always done when a command was supplied now) |
|
|
|
Second for some special cases (like setting passwords) we want to retrieve the |
|
current password to injet into e.g. MySQL and co (-p). |
|
|
|
- Rene Rebe <rene@exactcode.de> |
|
|
|
diff -u gnomesu-0.3.1/src/xsu.c gnomesu-0.3.1-fixed/src/xsu.c |
|
--- gnomesu-0.3.1/src/xsu.c 2003-04-10 14:03:14.000000000 +0000 |
|
+++ gnomesu-0.3.1-fixed/src/xsu.c 2005-09-05 22:58:12.000000000 +0000 |
|
@@ -126,7 +126,10 @@ |
|
buffer = g_strdup_printf("%s%s;%s", SET_DISPL_ENV, displ_host, command); |
|
g_free(displ_host); |
|
} |
|
- else |
|
+ else if (show_password) { |
|
+ buffer = g_strdup_printf("PASSWD=\"%s\" %s", password, command); |
|
+ } |
|
+ else |
|
{ |
|
buffer = g_strdup_printf("%s", command); |
|
} |
|
@@ -371,13 +377,16 @@ |
|
if(g_strdup(argv[1])) // there was a first argument |
|
{ |
|
/* As long as the first item is not a switch set the first item as the command */ |
|
- if ((strcmp(argv[1], "-u")) && (strcmp(argv[1], "--username")) && (strcmp(argv[1], "-m")) && (strcmp (argv[1], "-c")) && (strcmp (argv[1], "--command")) && (strcmp(argv[1], "--message")) && (strcmp(argv[1], "-t")) && (strcmp(argv[1], "--title"))) |
|
+ if ((strcmp(argv[1], "-u")) && (strcmp(argv[1], "--username")) && (strcmp(argv[1], "-m")) && (strcmp (argv[1], "-c")) && (strcmp (argv[1], "--command")) && (strcmp(argv[1], "--message")) && (strcmp(argv[1], "-t")) && (strcmp(argv[1], "--title")) && (strcmp(argv[1], "-p"))) |
|
{ |
|
arg_command = g_strdup(argv[1]); |
|
command_in=TRUE; |
|
} |
|
} |
|
|
|
+ if (!strcmp (argv[x], "-p")) |
|
+ show_password=TRUE; |
|
+ |
|
// -c switch for backwards compatibility with xsu |
|
if ((!strcmp (argv[x], "-c")) || (!strcmp (argv[x], "--command"))) |
|
{ |
|
@@ -542,7 +554,9 @@ |
|
if (command_in) |
|
{ |
|
gtk_entry_set_text(GTK_ENTRY(gtk_command_textbox),arg_command); |
|
- //gtk_entry_set_editable(GTK_ENTRY(gtk_command_textbox), FALSE); |
|
+ gtk_entry_set_editable(GTK_ENTRY(gtk_command_textbox), FALSE); |
|
+ gtk_widget_hide (gtk_commandtxt_label); |
|
+ gtk_widget_hide (gtk_command_textbox); |
|
gtk_widget_grab_focus (gtk_password_textbox); |
|
} else { |
|
gtk_widget_grab_focus (gtk_command_textbox); |
|
diff -u gnomesu-0.3.1/src/xsu.h gnomesu-0.3.1-fixed/src/xsu.h |
|
--- gnomesu-0.3.1/src/xsu.h 2003-01-07 21:01:09.000000000 +0000 |
|
+++ gnomesu-0.3.1-fixed/src/xsu.h 2005-09-05 22:27:38.000000000 +0000 |
|
@@ -77,6 +77,7 @@ |
|
GtkTooltips *tooltips; |
|
|
|
gchar *arg_message, *arg_title, *displ_host; |
|
+gboolean show_password=FALSE; |
|
|
|
gboolean message_in=FALSE, |
|
title_in=FALSE,
|
|
|