(check_flags): handle NULL client or server
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5311 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -314,6 +314,7 @@ check_flags(hdb_entry *client, const char *client_name, | |||||||
| 	    krb5_boolean is_as_req) | 	    krb5_boolean is_as_req) | ||||||
| { | { | ||||||
|     /* check client */ |     /* check client */ | ||||||
|  |     if (client != NULL) { | ||||||
| 	if (client->flags.invalid) { | 	if (client->flags.invalid) { | ||||||
| 	    kdc_log(0, "Client (%s) has invalid bit set", client_name); | 	    kdc_log(0, "Client (%s) has invalid bit set", client_name); | ||||||
| 	    return KRB5KDC_ERR_POLICY; | 	    return KRB5KDC_ERR_POLICY; | ||||||
| @@ -340,9 +341,11 @@ check_flags(hdb_entry *client, const char *client_name, | |||||||
| 	    kdc_log(0, "Client's key has expired -- %s", client_name); | 	    kdc_log(0, "Client's key has expired -- %s", client_name); | ||||||
| 	    return KRB5KDC_ERR_KEY_EXPIRED; | 	    return KRB5KDC_ERR_KEY_EXPIRED; | ||||||
| 	} | 	} | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /* check server */ |     /* check server */ | ||||||
|      |      | ||||||
|  |     if (server != NULL) { | ||||||
| 	if (server->flags.invalid) { | 	if (server->flags.invalid) { | ||||||
| 	    kdc_log(0, "Server has invalid flag set -- %s", server_name); | 	    kdc_log(0, "Server has invalid flag set -- %s", server_name); | ||||||
| 	    return KRB5KDC_ERR_POLICY; | 	    return KRB5KDC_ERR_POLICY; | ||||||
| @@ -373,6 +376,7 @@ check_flags(hdb_entry *client, const char *client_name, | |||||||
| 	    kdc_log(0, "Server's key has expired -- %s", server_name); | 	    kdc_log(0, "Server's key has expired -- %s", server_name); | ||||||
| 	    return KRB5KDC_ERR_KEY_EXPIRED; | 	    return KRB5KDC_ERR_KEY_EXPIRED; | ||||||
| 	} | 	} | ||||||
|  |     } | ||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund