Print this page
6817447 libgss and various mechs are hiding both the real minor_status and the error token
6405422 Solaris acceptors fail in AD-KDC environments when using non-"host" services (e.g. "cifs")
6824434 Unable to accept context establishment initiated by Windows 2000 clients
6787343 kclient's site lookups fail in certain network environments
6692646 kclient should output errors to stderr
6525327 kinit failed when arcfour-hmac-md5-exp was used for the principal's key
6745582 SUNWkdcu missing package dependencies after kclientv2 integration

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/gss_mechs/mech_krb5/mech/accept_sec_context.c
          +++ new/usr/src/lib/gss_mechs/mech_krb5/mech/accept_sec_context.c
   1    1  /*
   2      - * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
        2 + * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
   3    3   * Use is subject to license terms.
   4    4   */
   5    5  
   6      -
   7    6  /*
   8    7   * Copyright 2000, 2004  by the Massachusetts Institute of Technology.
   9    8   * All Rights Reserved.
  10    9   *
  11   10   * Export of this software from the United States of America may
  12   11   *   require a specific license from the United States Government.
  13   12   *   It is the responsibility of any person or organization contemplating
  14   13   *   export to obtain such a license before exporting.
  15   14   * 
  16   15   * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
↓ open down ↓ 292 lines elided ↑ open up ↑
 309  308     krb5_data option;
 310  309     const gss_OID_desc *mech_used = NULL;
 311  310     OM_uint32 major_status = GSS_S_FAILURE;
 312  311     krb5_error krb_error_data;
 313  312     krb5_data scratch;
 314  313     gss_cred_id_t cred_handle = NULL;
 315  314     krb5_gss_cred_id_t deleg_cred = NULL;
 316  315     OM_uint32 saved_ap_options = 0;
 317  316     krb5int_access kaccess;
 318  317     int cred_rcache = 0;
      318 +   OM_uint32 t_minor_status = 0;
 319  319  
 320  320     KRB5_LOG0(KRB5_INFO,"krb5_gss_accept_sec_context() start");
 321  321  
 322  322     code = krb5int_accessor (&kaccess, KRB5INT_ACCESS_VERSION);
 323  323     if (code) {
 324  324         *minor_status = code;
 325  325         return(GSS_S_FAILURE);
 326  326     }
 327  327  
 328  328     code = krb5_gss_init_context(&context);
↓ open down ↓ 844 lines elided ↑ open up ↑
1173 1173         g_make_token_header(mech_used, tmsglen, &ptr, toktype);
1174 1174  
1175 1175         TWRITE_STR(ptr, scratch.data, scratch.length);
1176 1176         xfree(scratch.data);
1177 1177  
1178 1178         *output_token = token;
1179 1179     }
1180 1180  
1181 1181  cleanup:
1182 1182     if (!verifier_cred_handle && cred_handle) {
1183      -           krb5_gss_release_cred(minor_status, &cred_handle);
     1183 +           krb5_gss_release_cred(&t_minor_status, &cred_handle);
1184 1184     }
1185 1185     krb5_free_context(context);
1186 1186  
1187 1187     /* Solaris Kerberos */
1188 1188     KRB5_LOG(KRB5_ERR,"krb5_gss_accept_sec_context() end, "
1189 1189                "major_status = %d", major_status);
1190 1190     return (major_status);
1191 1191  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX