KRB5_RECVAUTH_IGNORE_VERSION
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1967 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -17,8 +17,8 @@ krb5_recvauth(krb5_context context, | |||||||
| 	      krb5_ticket **ticket) | 	      krb5_ticket **ticket) | ||||||
| { | { | ||||||
|   krb5_error_code ret; |   krb5_error_code ret; | ||||||
|   const char *version = "KRB5_SENDAUTH_V1.0"; |   const char *version = KRB5_SENDAUTH_VERSION; | ||||||
|   char her_version[19];		/* Size ^ */ |   char her_version[sizeof(KRB5_SENDAUTH_VERSION)]; | ||||||
|   char *her_appl_version; |   char *her_appl_version; | ||||||
|   int fd = *((int *)p_fd); |   int fd = *((int *)p_fd); | ||||||
|   u_int32_t len; |   u_int32_t len; | ||||||
| @@ -26,15 +26,17 @@ krb5_recvauth(krb5_context context, | |||||||
|   krb5_data data; |   krb5_data data; | ||||||
|   krb5_flags ap_options; |   krb5_flags ap_options; | ||||||
|  |  | ||||||
|   if (krb5_net_read (context, fd, &len, 4) != 4) |   if(!(flags & KRB5_RECVAUTH_IGNORE_VERSION)) { | ||||||
|     return errno; |     if (krb5_net_read (context, fd, &len, 4) != 4) | ||||||
|   len = ntohl(len); |       return errno; | ||||||
|   if (len != sizeof(her_version) |     len = ntohl(len); | ||||||
|       || krb5_net_read (context, fd, her_version, len) != len |     if (len != sizeof(her_version) | ||||||
|       || strcmp (version, her_version)) { | 	|| krb5_net_read (context, fd, her_version, len) != len | ||||||
|     repl = 1; | 	|| strncmp (version, her_version, len)) { | ||||||
|     krb5_net_write (context, fd, &repl, 1); |       repl = 1; | ||||||
|     return KRB5_SENDAUTH_BADAUTHVERS; |       krb5_net_write (context, fd, &repl, 1); | ||||||
|  |       return KRB5_SENDAUTH_BADAUTHVERS; | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   if (krb5_net_read (context, fd, &len, 4) != 4) |   if (krb5_net_read (context, fd, &len, 4) != 4) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund