Article delegate-en/2473 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A2472@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: RELEASE DeleGate/8.8.2 -- introduced "Credhy" encryption with Diffie-Hellman key agreement
28 Nov 2003 10:38:55 GMT feedback@delegate.org (Yutaka Sato)


On 11/28/03(18:45) you feedback@delegate.. (Yutaka Sato) wrote
in <_A2472@delegate-en.ML_>
 |  FILE: delegate8.8.1.tar.{gz,bz2}
 |  DATE: Nov 28 18:27 JST 2003
...
 |[NEW]
 | * Credhy: introduced encryption based on CRC and Diffie-Hellman
 | + SockMux: changed to encrypt SockMux protocol with Credhy by default

これなのですが、バイトオーダーの異なるマシン間でSockMuxが接続できない
というバグがありました。同封のパッチのように修正します。


Cheers,
Yutaka
--
  D G Yutaka Sato <y.sato@delegate.org> http://www.delegate.org/y.sato/
 ( - ) National Institute of Advanced Industrial Science and Technology (AIST)
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller

diff -cr dist/delegate8.8.1/include/credhy.h ./include/credhy.h
*** dist/delegate8.8.1/include/credhy.h	Fri Nov 28 15:43:30 2003
--- ./include/credhy.h	Fri Nov 28 19:28:13 2003
***************
*** 7,14 ****
  	int	k_idx;
  	int	k_leng;
  	int	k_myrand;
! 	int	k_lcrc8;
! 	int	k_rcrc8;
  	char	k_str[128];
  } Credhy;
  
--- 7,14 ----
  	int	k_idx;
  	int	k_leng;
  	int	k_myrand;
! 	char	k_lcrc8[1];
! 	char	k_rcrc8[1];
  	char	k_str[128];
  } Credhy;
  
diff -cr dist/delegate8.8.1/rary/credhy.c ./rary/credhy.c
*** dist/delegate8.8.1/rary/credhy.c	Fri Nov 28 18:02:40 2003
--- ./rary/credhy.c	Fri Nov 28 19:28:31 2003
***************
*** 593,599 ****
  	len = dump64b(M,ykey+2,siz-2);
  	ykey[1] = len;
  	ykey[0] = strCRC8(0,ykey+1,1+len);
! 	K->k_lcrc8 = ykey[0];
  	return 2+len;
  }
  CredhyAgreedKey(K,ykey)
--- 593,599 ----
  	len = dump64b(M,ykey+2,siz-2);
  	ykey[1] = len;
  	ykey[0] = strCRC8(0,ykey+1,1+len);
! 	K->k_lcrc8[0] = ykey[0];
  	return 2+len;
  }
  CredhyAgreedKey(K,ykey)
***************
*** 604,610 ****
  	int crc,k;
  
  	crc = strCRC8(0,ykey+1,1+ykey[1]);
! 	K->k_rcrc8 = ykey[0];
  	if( crc != ykey[0] ){
  		syslog_ERROR("BAD key CRC=%x [%x][%x]\n",crc,ykey[0],ykey[1]);
  		return -1;
--- 604,610 ----
  	int crc,k;
  
  	crc = strCRC8(0,ykey+1,1+ykey[1]);
! 	K->k_rcrc8[0] = ykey[0];
  	if( crc != ykey[0] ){
  		syslog_ERROR("BAD key CRC=%x [%x][%x]\n",crc,ykey[0],ykey[1]);
  		return -1;
diff -cr dist/delegate8.8.1/src/sox.c ./src/sox.c
*** dist/delegate8.8.1/src/sox.c	Fri Nov 28 18:13:41 2003
--- ./src/sox.c	Fri Nov 28 19:32:35 2003
***************
*** 634,641 ****
  	}
  	*TiKey = *ToKey;
  	/* generate up/down asymmetry */
! 	TiCRC8 = strCRC8(TiCRC8,&TiKey->k_rcrc8,1);
! 	ToCRC8 = strCRC8(ToCRC8,&ToKey->k_lcrc8,1);
  
  	pack->p_Type = SOX_CRYPTON;
  	pack->p_data[0] = CRYPT_CREDHY;
--- 634,641 ----
  	}
  	*TiKey = *ToKey;
  	/* generate up/down asymmetry */
! 	TiCRC8 = strCRC8(TiCRC8,TiKey->k_rcrc8,1);
! 	ToCRC8 = strCRC8(ToCRC8,ToKey->k_lcrc8,1);
  
  	pack->p_Type = SOX_CRYPTON;
  	pack->p_data[0] = CRYPT_CREDHY;

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V