(kerberos4_is): send the peer address to krb_rd_req
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3762 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -267,9 +267,11 @@ kerberos4_send_oneway(Authenticator *ap) | ||||
| void | ||||
| kerberos4_is(Authenticator *ap, unsigned char *data, int cnt) | ||||
| { | ||||
|     struct sockaddr_in addr; | ||||
|     char realm[REALM_SZ]; | ||||
|     char instance[INST_SZ]; | ||||
|     int r; | ||||
|     int addr_len; | ||||
|  | ||||
|     if (cnt-- < 1) | ||||
| 	return; | ||||
| @@ -290,8 +292,16 @@ kerberos4_is(Authenticator *ap, unsigned char *data, int cnt) | ||||
| 	    printf("\r\n"); | ||||
| 	} | ||||
| 	k_getsockinst(0, instance, sizeof(instance)); | ||||
| 	addr_len = sizeof(addr); | ||||
| 	if(getpeername(0, (struct sockaddr *)&addr, &addr_len) < 0) { | ||||
| 	    if(auth_debug_mode) | ||||
| 		printf("getpeername failed\r\n"); | ||||
| 	    Data(ap, KRB_REJECT, "getpeername failed", -1); | ||||
| 	    auth_finished(ap, AUTH_REJECT); | ||||
| 	    return; | ||||
| 	} | ||||
| 	r = krb_rd_req(&auth, KRB_SERVICE_NAME, | ||||
| 		       instance, 0, &adat, ""); | ||||
| 		       instance, addr.sin_addr.s_addr, &adat, ""); | ||||
| 	if (r) { | ||||
| 	    if (auth_debug_mode) | ||||
| 		printf("Kerberos failed him as %s\r\n", name); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund