aboutsummaryrefslogtreecommitdiff
path: root/security/krb5-appl/files/patch-as
diff options
context:
space:
mode:
Diffstat (limited to 'security/krb5-appl/files/patch-as')
-rw-r--r--security/krb5-appl/files/patch-as338
1 files changed, 144 insertions, 194 deletions
diff --git a/security/krb5-appl/files/patch-as b/security/krb5-appl/files/patch-as
index 519a1c74d4cb..badcda3daa6b 100644
--- a/security/krb5-appl/files/patch-as
+++ b/security/krb5-appl/files/patch-as
@@ -1,194 +1,144 @@
-*** clients/ksu/main.c.ORIG Fri Feb 6 19:41:57 1998
---- clients/ksu/main.c Tue Jun 30 19:46:02 1998
-***************
-*** 56,62 ****
- ill specified arguments to commands */
-
- void usage (){
-! fprintf(stderr, "Usage: %s [target user] [-n principal] [-c source cachename] [-C target cachename] [-k] [-D] [-r time] [-pf] [-l lifetime] [-zZ] [-q] [-e command [args... ] ] [-a [args... ] ]\n", prog_name);
-
- }
-
---- 56,62 ----
- ill specified arguments to commands */
-
- void usage (){
-! fprintf(stderr, "Usage: %s [target user] [-m] [-n principal] [-c source cachename] [-C target cachename] [-k] [-D] [-r time] [-pf] [-l lifetime] [-zZ] [-q] [-e command [args... ] ] [-a [args... ] ]\n", prog_name);
-
- }
-
-***************
-*** 75,80 ****
---- 75,81 ----
- int argc;
- char ** argv;
- {
-+ int asme = 0;
- int hp =0;
- int some_rest_copy = 0;
- int all_rest_copy = 0;
-***************
-*** 90,95 ****
---- 91,97 ----
- char * cc_target_tag = NULL;
- char * target_user = NULL;
- char * source_user;
-+ char * source_shell;
-
- krb5_ccache cc_source = NULL;
- char * cc_source_tag = NULL;
-***************
-*** 174,180 ****
- }
-
-
-! while(!done && ((option = getopt(pargc, pargv,"n:c:C:r:a:zZDfpkql:e:")) != -1)){
- switch (option) {
- case 'r':
- options.opt |= KDC_OPT_RENEWABLE;
---- 176,182 ----
- }
-
-
-! while(!done && ((option = getopt(pargc, pargv,"n:c:C:r:a:zZDfpkmql:e:")) != -1)){
- switch (option) {
- case 'r':
- options.opt |= KDC_OPT_RENEWABLE;
-***************
-*** 216,221 ****
---- 218,226 ----
- errflg++;
- }
- break;
-+ case 'm':
-+ asme = 1;
-+ break;
- case 'n':
- if ((retval = krb5_parse_name(ksu_context, optarg, &client))){
- com_err(prog_name, retval, "when parsing name %s", optarg);
-***************
-*** 355,362 ****
- exit(1);
- }
-
-! /* allocate space and copy the usernamane there */
- source_user = strdup(pwd->pw_name);
- source_uid = pwd->pw_uid;
- source_gid = pwd->pw_gid;
-
---- 360,368 ----
- exit(1);
- }
-
-! /* allocate space and copy the username there */
- source_user = strdup(pwd->pw_name);
-+ source_shell = strdup(pwd->pw_shell);
- source_uid = pwd->pw_uid;
- source_gid = pwd->pw_gid;
-
-***************
-*** 727,769 ****
- /* get the shell of the user, this will be the shell used by su */
- target_pwd = getpwnam(target_user);
-
-! if (target_pwd->pw_shell)
-! shell = strdup(target_pwd->pw_shell);
-! else {
-! shell = _DEF_CSH; /* default is cshell */
-! }
-
- #ifdef HAVE_GETUSERSHELL
-
- /* insist that the target login uses a standard shell (root is omited) */
-
-! if (!standard_shell(target_pwd->pw_shell) && source_uid) {
-! fprintf(stderr, "ksu: permission denied (shell).\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
- }
- #endif /* HAVE_GETUSERSHELL */
-
-! if (target_pwd->pw_uid){
-!
-! if(set_env_var("USER", target_pwd->pw_name)){
-! fprintf(stderr,"ksu: couldn't set environment variable USER\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-! }
-!
-! if(set_env_var( "HOME", target_pwd->pw_dir)){
-! fprintf(stderr,"ksu: couldn't set environment variable USER\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-!
-! if(set_env_var( "SHELL", shell)){
-! fprintf(stderr,"ksu: couldn't set environment variable USER\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-
- /* set the cc env name to target */
-
---- 733,792 ----
- /* get the shell of the user, this will be the shell used by su */
- target_pwd = getpwnam(target_user);
-
-! if (asme) {
-! if (source_shell && *source_shell) {
-! shell = strdup(source_shell);
-! } else {
-! shell = _DEF_CSH;
-! }
-! } else {
-! if (target_pwd->pw_shell)
-! shell = strdup(target_pwd->pw_shell);
-! else {
-! shell = _DEF_CSH; /* default is cshell */
-! }
-! }
-
- #ifdef HAVE_GETUSERSHELL
-
- /* insist that the target login uses a standard shell (root is omited) */
-
-! if (asme) {
-! if (!standard_shell(pwd->pw_shell) && source_uid) {
-! fprintf(stderr, "ksu: permission denied (shell).\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-! } else {
-! if (!standard_shell(target_pwd->pw_shell) && source_uid) {
-! fprintf(stderr, "ksu: permission denied (shell).\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
- }
- #endif /* HAVE_GETUSERSHELL */
-
-! if (!asme) {
-! if (target_pwd->pw_uid){
-! if (set_env_var("USER", target_pwd->pw_name)){
-! fprintf(stderr,"ksu: couldn't set environment variable USER\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-! }
-!
-! if (set_env_var( "HOME", target_pwd->pw_dir)){
-! fprintf(stderr,"ksu: couldn't set environment variable USER\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-!
-! if (set_env_var( "SHELL", shell)){
-! fprintf(stderr,"ksu: couldn't set environment variable USER\n");
-! sweep_up(ksu_context, use_source_cache, cc_target);
-! exit(1);
-! }
-! }
-
- /* set the cc env name to target */
-
+--- clients/ksu/main.c.ORIG Fri Dec 17 14:44:39 1999
++++ clients/ksu/main.c Fri Dec 17 18:52:57 1999
+@@ -56,7 +56,7 @@
+ ill specified arguments to commands */
+
+ void usage (){
+- fprintf(stderr, "Usage: %s [target user] [-n principal] [-c source cachename] [-C target cachename] [-k] [-D] [-r time] [-pf] [-l lifetime] [-zZ] [-q] [-e command [args... ] ] [-a [args... ] ]\n", prog_name);
++ fprintf(stderr, "Usage: %s [target user] [-m] [-n principal] [-c source cachename] [-C target cachename] [-k] [-D] [-r time] [-pf] [-l lifetime] [-zZ] [-q] [-e command [args... ] ] [-a [args... ] ]\n", prog_name);
+
+ }
+
+@@ -75,6 +75,7 @@
+ int argc;
+ char ** argv;
+ {
++int asme = 0;
+ int hp =0;
+ int some_rest_copy = 0;
+ int all_rest_copy = 0;
+@@ -90,6 +91,7 @@
+ char * cc_target_tag = NULL;
+ char * target_user = NULL;
+ char * source_user;
++char * source_shell;
+
+ krb5_ccache cc_source = NULL;
+ const char * cc_source_tag = NULL;
+@@ -173,7 +175,7 @@
+ }
+
+
+- while(!done && ((option = getopt(pargc, pargv,"n:c:r:a:zZDfpkql:e:")) != -1)){
++ while(!done && ((option = getopt(pargc, pargv,"n:c:r:a:zZDfpkmql:e:")) != -1)){
+ switch (option) {
+ case 'r':
+ options.opt |= KDC_OPT_RENEWABLE;
+@@ -219,6 +221,9 @@
+ errflg++;
+ }
+ break;
++ case 'm':
++ asme = 1;
++ break;
+ case 'n':
+ if ((retval = krb5_parse_name(ksu_context, optarg, &client))){
+ com_err(prog_name, retval, "when parsing name %s", optarg);
+@@ -326,6 +331,7 @@
+
+ /* allocate space and copy the usernamane there */
+ source_user = xstrdup(pwd->pw_name);
++ source_shell = xstrdup(pwd->pw_shell);
+ source_uid = pwd->pw_uid;
+ source_gid = pwd->pw_gid;
+
+@@ -699,43 +705,60 @@
+ /* get the shell of the user, this will be the shell used by su */
+ target_pwd = getpwnam(target_user);
+
+- if (target_pwd->pw_shell)
+- shell = xstrdup(target_pwd->pw_shell);
+- else {
+- shell = _DEF_CSH; /* default is cshell */
+- }
++ if (asme) {
++ if (source_shell && *source_shell) {
++ shell = strdup(source_shell);
++ } else {
++ shell = _DEF_CSH;
++ }
++ } else {
++ if (target_pwd->pw_shell)
++ shell = strdup(target_pwd->pw_shell);
++ else {
++ shell = _DEF_CSH; /* default is cshell */
++ }
++ }
+
+ #ifdef HAVE_GETUSERSHELL
+
+ /* insist that the target login uses a standard shell (root is omited) */
+
+- if (!standard_shell(target_pwd->pw_shell) && source_uid) {
+- fprintf(stderr, "ksu: permission denied (shell).\n");
+- sweep_up(ksu_context, use_source_cache, cc_target);
+- exit(1);
++ if (asme) {
++ if (!standard_shell(pwd->pw_shell) && source_uid) {
++ fprintf(stderr, "ksu: permission denied (shell).\n");
++ sweep_up(ksu_context, use_source_cache, cc_target);
++ exit(1);
++ }
++ } else {
++ if (!standard_shell(target_pwd->pw_shell) && source_uid) {
++ fprintf(stderr, "ksu: permission denied (shell).\n");
++ sweep_up(ksu_context, use_source_cache, cc_target);
++ exit(1);
++ }
+ }
+ #endif /* HAVE_GETUSERSHELL */
+
+- if (target_pwd->pw_uid){
+-
+- if(set_env_var("USER", target_pwd->pw_name)){
+- fprintf(stderr,"ksu: couldn't set environment variable USER\n");
+- sweep_up(ksu_context, use_source_cache, cc_target);
+- exit(1);
+- }
+- }
+-
+- if(set_env_var( "HOME", target_pwd->pw_dir)){
+- fprintf(stderr,"ksu: couldn't set environment variable USER\n");
+- sweep_up(ksu_context, use_source_cache, cc_target);
+- exit(1);
+- }
+-
+- if(set_env_var( "SHELL", shell)){
+- fprintf(stderr,"ksu: couldn't set environment variable USER\n");
+- sweep_up(ksu_context, use_source_cache, cc_target);
+- exit(1);
+- }
++ if (!asme) {
++ if (target_pwd->pw_uid){
++ if (set_env_var("USER", target_pwd->pw_name)){
++ fprintf(stderr,"ksu: couldn't set environment variable USER\n");
++ sweep_up(ksu_context, use_source_cache, cc_target);
++ exit(1);
++ }
++ }
++
++ if (set_env_var( "HOME", target_pwd->pw_dir)){
++ fprintf(stderr,"ksu: couldn't set environment variable USER\n");
++ sweep_up(ksu_context, use_source_cache, cc_target);
++ exit(1);
++ }
++
++ if (set_env_var( "SHELL", shell)){
++ fprintf(stderr,"ksu: couldn't set environment variable USER\n");
++ sweep_up(ksu_context, use_source_cache, cc_target);
++ exit(1);
++ }
++ }
+
+ /* set the cc env name to target */
+