components/krb5/patches/047-dejagnu.patch
changeset 5490 9bf0bc57423a
child 6599 1d033832c5e7
equal deleted inserted replaced
5489:a5031bb8b66d 5490:9bf0bc57423a
       
     1 #
       
     2 # This patch fixes the dejagnu test suite and code to successfully run to
       
     3 # completion.
       
     4 #
       
     5 # Note: Given that the changes are dependent upon Solaris' version of RPC it
       
     6 # is not possible to contribute these changes to MIT unless RPC is also
       
     7 # donated.
       
     8 # Patch source: in-house
       
     9 #
       
    10 diff -pur old/src/kadmin/testing/scripts/init_db new/src/kadmin/testing/scripts/init_db
       
    11 --- old/src/kadmin/testing/scripts/init_db	2015-06-10 00:50:51.127628066 -0600
       
    12 +++ new/src/kadmin/testing/scripts/init_db	2015-06-16 02:28:12.221384825 -0600
       
    13 @@ -215,7 +215,7 @@ changepw/kerberos@$REALM	cil
       
    14  
       
    15  EOF
       
    16  
       
    17 -eval $LOCAL_MAKE_KEYTAB -princ kadmin/admin -princ kadmin/changepw -princ ovsec_adm/admin -princ ovsec_adm/changepw $K5ROOT/ovsec_adm.srvtab $REDIRECT
       
    18 +eval $LOCAL_MAKE_KEYTAB -princ kadmin/$qualname -princ changepw/$qualname -princ ovsec_adm/admin -princ ovsec_adm/changepw $K5ROOT/ovsec_adm.srvtab $REDIRECT
       
    19  
       
    20  # Create $K5ROOT/setup.csh to make it easy to run other programs against
       
    21  # the test db
       
    22 diff -pur old/src/kadmin/testing/util/tcl_kadm5.c new/src/kadmin/testing/util/tcl_kadm5.c
       
    23 --- old/src/kadmin/testing/util/tcl_kadm5.c	2015-06-10 00:50:51.128546692 -0600
       
    24 +++ new/src/kadmin/testing/util/tcl_kadm5.c	2015-06-16 02:25:40.402115955 -0600
       
    25 @@ -13,8 +13,11 @@
       
    26  #include <errno.h>
       
    27  #include <stdlib.h>
       
    28  #include <adb_err.h>
       
    29 +#include <unistd.h>
       
    30  #include "tcl_kadm5.h"
       
    31  
       
    32 +#define	MAXHOSTNAMELEN 256
       
    33 +
       
    34  struct flagval {
       
    35      char *name;
       
    36      krb5_flags val;
       
    37 @@ -2504,12 +2507,14 @@ static int tcl_kadm5_get_privs(ClientDat
       
    38  
       
    39  void Tcl_kadm5_init(Tcl_Interp *interp)
       
    40  {
       
    41 -    char buf[20];
       
    42 +    char buf[MAXHOSTNAMELEN], localname[MAXHOSTNAMELEN] = "localhost";
       
    43 +
       
    44 +    (void) gethostname(localname, MAXHOSTNAMELEN);
       
    45  
       
    46 -    Tcl_SetVar(interp, "KADM5_ADMIN_SERVICE",
       
    47 -               KADM5_ADMIN_SERVICE, TCL_GLOBAL_ONLY);
       
    48 -    Tcl_SetVar(interp, "KADM5_CHANGEPW_SERVICE",
       
    49 -               KADM5_CHANGEPW_SERVICE, TCL_GLOBAL_ONLY);
       
    50 +    (void) sprintf(buf, "%s@%s", KADM5_ADMIN_HOST_SERVICE, localname);
       
    51 +    Tcl_SetVar(interp, "KADM5_ADMIN_SERVICE", buf, TCL_GLOBAL_ONLY);
       
    52 +    (void) sprintf(buf, "%s@%s", KADM5_CHANGEPW_HOST_SERVICE, localname);
       
    53 +    Tcl_SetVar(interp, "KADM5_CHANGEPW_SERVICE", buf, TCL_GLOBAL_ONLY);
       
    54      (void) sprintf(buf, "%d", KADM5_STRUCT_VERSION);
       
    55      Tcl_SetVar(interp, "KADM5_STRUCT_VERSION", buf, TCL_GLOBAL_ONLY);
       
    56      (void) sprintf(buf, "%d", KADM5_API_VERSION_2);
       
    57 diff -pur old/src/lib/kadm5/unit-test/api.current/init-v2.exp new/src/lib/kadm5/unit-test/api.current/init-v2.exp
       
    58 --- old/src/lib/kadm5/unit-test/api.current/init-v2.exp	2015-06-10 00:50:51.345973412 -0600
       
    59 +++ new/src/lib/kadm5/unit-test/api.current/init-v2.exp	2015-06-17 15:27:14.063710212 -0600
       
    60 @@ -70,7 +70,7 @@ proc test102 {} {
       
    61  		[config_params {KADM5_CONFIG_ADMIN_SERVER} does.not.exist] \
       
    62  		$KADM5_STRUCT_VERSION $KADM5_API_VERSION_3 \
       
    63  		server_handle
       
    64 -    } "CANT_RESOLVE"
       
    65 +    } "KADM5_RPC_ERROR"
       
    66  }
       
    67  if {$RPC} test102
       
    68  
       
    69 @@ -434,10 +434,11 @@ expect {
       
    70  
       
    71  test "init 150"
       
    72  proc test150 {} {
       
    73 -    global test KADM5_ADMIN_SERVICE
       
    74 +    global test hostname
       
    75  
       
    76 +    get_hostname
       
    77      kdestroy
       
    78 -    kinit testuser notathena "-S $KADM5_ADMIN_SERVICE"
       
    79 +    kinit testuser notathena "-S kadmin/$hostname"
       
    80      one_line_succeed_test {
       
    81  	kadm5_init_with_creds testuser null $KADM5_ADMIN_SERVICE \
       
    82  		null $KADM5_STRUCT_VERSION $KADM5_API_VERSION_3 \
       
    83 @@ -449,10 +450,11 @@ if {$RPC} test150
       
    84  
       
    85  test "init 151"
       
    86  proc test151 {} {
       
    87 -    global test KADM5_CHANGEPW_SERVICE
       
    88 +    global test hostname
       
    89  
       
    90 +    get_hostname
       
    91      kdestroy
       
    92 -    kinit testuser notathena "-S $KADM5_CHANGEPW_SERVICE"
       
    93 +    kinit testuser notathena "-S changepw/$hostname"
       
    94      one_line_succeed_test {
       
    95  	kadm5_init_with_creds testuser null $KADM5_CHANGEPW_SERVICE \
       
    96  		null $KADM5_STRUCT_VERSION $KADM5_API_VERSION_3 \
       
    97 diff -pur old/src/lib/kadm5/unit-test/api.current/init.exp new/src/lib/kadm5/unit-test/api.current/init.exp
       
    98 --- old/src/lib/kadm5/unit-test/api.current/init.exp	2015-06-10 00:50:51.346734449 -0600
       
    99 +++ new/src/lib/kadm5/unit-test/api.current/init.exp	2015-06-16 02:25:07.155377656 -0600
       
   100 @@ -697,8 +697,8 @@ if {$RPC} {
       
   101      # re-extract the keytab so it is right
       
   102      exec rm $env(K5ROOT)/ovsec_adm.srvtab
       
   103      exec $env(MAKE_KEYTAB) -princ ovsec_adm/admin -princ ovsec_adm/changepw \
       
   104 -	    -princ kadmin/admin -princ kadmin/changepw \
       
   105 -	    $env(K5ROOT)/ovsec_adm.srvtab
       
   106 +	    -princ kadmin/[exec $env(QUALNAME)] \
       
   107 +	    -princ changepw/[exec $env(QUALNAME)] $env(K5ROOT)/ovsec_adm.srvtab
       
   108  }
       
   109  
       
   110  return ""
       
   111 diff -pur old/src/lib/kadm5/unit-test/destroy-test.c new/src/lib/kadm5/unit-test/destroy-test.c
       
   112 --- old/src/lib/kadm5/unit-test/destroy-test.c	2015-06-10 00:50:51.347207985 -0600
       
   113 +++ new/src/lib/kadm5/unit-test/destroy-test.c	2015-06-12 01:15:05.073293523 -0600
       
   114 @@ -27,7 +27,7 @@ int main()
       
   115          exit(2);
       
   116      }
       
   117      for(x = 0; x < TEST_NUM; x++) {
       
   118 -        ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, 0,
       
   119 +        ret = kadm5_init(context, "admin", "admin", NULL, 0,
       
   120                           KADM5_STRUCT_VERSION, KADM5_API_VERSION_4, NULL,
       
   121                           &server_handle);
       
   122          if(ret != KADM5_OK) {
       
   123 diff -pur old/src/lib/kadm5/unit-test/handle-test.c new/src/lib/kadm5/unit-test/handle-test.c
       
   124 --- old/src/lib/kadm5/unit-test/handle-test.c	2015-06-10 00:50:51.347684536 -0600
       
   125 +++ new/src/lib/kadm5/unit-test/handle-test.c	2015-06-12 01:17:51.121655473 -0600
       
   126 @@ -30,7 +30,7 @@ int main(int argc, char *argv[])
       
   127  
       
   128      kadm5_init_krb5_context(&context);
       
   129  
       
   130 -    ret = kadm5_init(context, "admin/none", "admin", KADM5_ADMIN_SERVICE, NULL,
       
   131 +    ret = kadm5_init(context, "admin/none", "admin", NULL, NULL,
       
   132                       KADM5_STRUCT_VERSION, KADM5_API_VERSION_4, NULL,
       
   133                       &server_handle);
       
   134      if(ret != KADM5_OK) {
       
   135 diff -pur old/src/lib/kadm5/unit-test/iter-test.c new/src/lib/kadm5/unit-test/iter-test.c
       
   136 --- old/src/lib/kadm5/unit-test/iter-test.c	2015-06-10 00:50:51.347990562 -0600
       
   137 +++ new/src/lib/kadm5/unit-test/iter-test.c	2015-06-12 01:18:32.114334236 -0600
       
   138 @@ -22,7 +22,7 @@ int main(int argc, char **argv)
       
   139          com_err("iter-test", ret, "while initializing context");
       
   140          exit(1);
       
   141      }
       
   142 -    ret = kadm5_init("admin", "admin", KADM5_ADMIN_SERVICE, 0,
       
   143 +    ret = kadm5_init("admin", "admin", NULL, 0,
       
   144                       KADM5_STRUCT_VERSION, KADM5_API_VERSION_4, NULL,
       
   145                       &server_handle);
       
   146      if (ret != KADM5_OK) {
       
   147 diff -pur old/src/lib/kadm5/unit-test/Makefile.in new/src/lib/kadm5/unit-test/Makefile.in
       
   148 --- old/src/lib/kadm5/unit-test/Makefile.in	2015-06-10 00:50:51.344879613 -0600
       
   149 +++ new/src/lib/kadm5/unit-test/Makefile.in	2015-06-12 01:08:32.007953859 -0600
       
   150 @@ -103,7 +103,7 @@ unit-test-server-setup::
       
   151  unit-test-server-cleanup::
       
   152  	$(ENV_SETUP) $(STOP_SERVERS_LOCAL)
       
   153  
       
   154 -unit-test-client-body: site.exp test-noauth test-destroy test-handle-client 
       
   155 +unit-test-client-body: site.exp test-destroy test-handle-client 
       
   156  	$(ENV_SETUP) $(RUNTEST) --tool api RPC=1 API=$(CLNTTCL) \
       
   157  		KINIT=$(BUILDTOP)/clients/kinit/kinit \
       
   158  		KDESTROY=$(BUILDTOP)/clients/kdestroy/kdestroy \
       
   159 diff -pur old/src/lib/kadm5/unit-test/randkey-test.c new/src/lib/kadm5/unit-test/randkey-test.c
       
   160 --- old/src/lib/kadm5/unit-test/randkey-test.c	2015-06-10 00:50:51.345250545 -0600
       
   161 +++ new/src/lib/kadm5/unit-test/randkey-test.c	2015-06-12 01:19:03.866788127 -0600
       
   162 @@ -23,7 +23,7 @@ int main()
       
   163      kadm5_init_krb5_context(&context);
       
   164  
       
   165      krb5_parse_name(context, "testuser", &tprinc);
       
   166 -    ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, NULL,
       
   167 +    ret = kadm5_init(context, "admin", "admin", NULL, NULL,
       
   168                       KADM5_STRUCT_VERSION, KADM5_API_VERSION_4, NULL,
       
   169                       &server_handle);
       
   170      if(ret != KADM5_OK) {
       
   171 diff -pur old/src/lib/kadm5/unit-test/setkey-test.c new/src/lib/kadm5/unit-test/setkey-test.c
       
   172 --- old/src/lib/kadm5/unit-test/setkey-test.c	2015-06-10 00:50:51.345023163 -0600
       
   173 +++ new/src/lib/kadm5/unit-test/setkey-test.c	2015-06-12 01:19:20.512438967 -0600
       
   174 @@ -119,7 +119,7 @@ main(int argc, char **argv)
       
   175          exit(1);
       
   176      }
       
   177  
       
   178 -    ret = kadm5_init(context, authprinc, NULL, KADM5_ADMIN_SERVICE, NULL,
       
   179 +    ret = kadm5_init(context, authprinc, NULL, NULL, NULL,
       
   180                       KADM5_STRUCT_VERSION, KADM5_API_VERSION_4, NULL,
       
   181                       &handle);
       
   182      if (ret) {
       
   183 diff -pur old/src/tests/dejagnu/krb-standalone/kadmin.exp new/src/tests/dejagnu/krb-standalone/kadmin.exp
       
   184 --- old/src/tests/dejagnu/krb-standalone/kadmin.exp	2015-06-10 00:50:51.143889459 -0600
       
   185 +++ new/src/tests/dejagnu/krb-standalone/kadmin.exp	2015-06-17 16:39:21.177011699 -0600
       
   186 @@ -1050,13 +1050,16 @@ proc kadmin_test { } {
       
   187  	return
       
   188      }
       
   189  
       
   190 +    # The fallback to kadmin/admin is an invalid test case for Solaris RPC.
       
   191 +    # Ergo this test is now commented out.
       
   192 +    #
       
   193      # test fallback to kadmin/admin
       
   194 -    if {![kadmin_delete kadmin/$hostname] \
       
   195 -	    || ![kadmin_list] \
       
   196 -	    || ![kadmin_add_rnd kadmin/$hostname -allow_tgs_req] \
       
   197 -	    || ![kadmin_list]} {
       
   198 -	return
       
   199 -    }
       
   200 +    #if {![kadmin_delete kadmin/$hostname] \
       
   201 +    #	|| ![kadmin_list] \
       
   202 +    #	|| ![kadmin_add_rnd kadmin/$hostname -allow_tgs_req] \
       
   203 +    #	|| ![kadmin_list]} {
       
   204 +    #	return
       
   205 +    #}
       
   206  
       
   207      verbose "kadmin_test succeeded"
       
   208  }