[tac_plus] Re: tacacs+ 64 bit fix

Schmidt, Daniel dan.schmidt at uplinkdata.com
Thu Nov 5 21:01:18 UTC 2009


ILP64 defines int as 64 bits

http://www.ibm.com/developerworks/library/l-port64.html

-----Original Message-----
From: tac_plus-bounces at shrubbery.net
[mailto:tac_plus-bounces at shrubbery.net] On Behalf Of john heasley
Sent: Thursday, November 05, 2009 12:39 PM
To: Stephen Hemminger
Cc: tac_plus at shrubbery.net
Subject: [tac_plus] Re: tacacs+ 64 bit fix

Thu, Nov 05, 2009 at 11:22:04AM -0800, Stephen Hemminger:
> If tacacs+ server is compiled and run on 64 bit machine (common now).
> On these machines sizeof(int) == 8 bytes, which is not same as uint32.
> It will fail because the session_id which is declared as int will
encrypted
> as a 64 bit value. 

thats not right.  int should be 4 bytes on all machines as defined by
spec.  long should be 8 bytes on 64bit machines.

what o/s and what version of tacacs?

> >From fe31e5361c9e51096dacbc8c1f54b2a59366d3d1 Mon Sep 17 00:00:00
2001
> From: Stephen Hemminger <shemminger at s6510.(none)>
> Date: Thu, 5 Nov 2009 11:19:29 -0800
> Subject: [PATCH] fix encrypt on 64 bit
> 
> ---
>  encrypt.c |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/encrypt.c b/encrypt.c
> index a0971d0..2a5a341 100644
> --- a/encrypt.c
> +++ b/encrypt.c
> @@ -37,9 +37,10 @@
>   *
>   *
>   */
> -void
> -create_md5_hash(int session_id, char *key, u_char version, u_char
seq_no,
> -		u_char *prev_hash, u_char *hash)
> +static void
> +create_md5_hash(uint32_t session_id, const char *key, 
> +		u_char version, u_char seq_no,
> +		const u_char *prev_hash, u_char *hash)
>  {
>      u_char *md_stream, *mdp;
>      int md_len;
> -- 
> 1.6.3.3
> 
> _______________________________________________
> tac_plus mailing list
> tac_plus at shrubbery.net
> http://www.shrubbery.net/mailman/listinfo.cgi/tac_plus
_______________________________________________
tac_plus mailing list
tac_plus at shrubbery.net
http://www.shrubbery.net/mailman/listinfo.cgi/tac_plus


More information about the tac_plus mailing list