patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
		
			
				
	
	
		
			372 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			372 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Index: usr.bin/telnet/telnet.c
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/usr.bin/telnet/Attic/telnet.c,v
 | |
| retrieving revision 1.8.2.3
 | |
| diff -u -r1.8.2.3 telnet.c
 | |
| --- usr.bin/telnet/telnet.c	13 Apr 2002 11:07:13 -0000	1.8.2.3
 | |
| +++ usr.bin/telnet/telnet.c	27 Mar 2005 18:33:43 -0000
 | |
| @@ -1193,6 +1193,7 @@
 | |
|  }
 | |
|  
 | |
|  unsigned char slc_reply[128];
 | |
| +unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
 | |
|  unsigned char *slc_replyp;
 | |
|  
 | |
|  void
 | |
| @@ -1208,6 +1209,14 @@
 | |
|  void
 | |
|  slc_add_reply(unsigned char func, unsigned char flags, cc_t value)
 | |
|  {
 | |
| +	/* A sequence of up to 6 bytes my be written for this member of the SLC
 | |
| +	 * suboption list by this function.  The end of negotiation command,
 | |
| +	 * which is written by slc_end_reply(), will require 2 additional
 | |
| +	 * bytes.  Do not proceed unless there is sufficient space for these
 | |
| +	 * items.
 | |
| +	 */
 | |
| +	if (&slc_replyp[6+2] > slc_reply_eom)
 | |
| +		return;
 | |
|  	if ((*slc_replyp++ = func) == IAC)
 | |
|  		*slc_replyp++ = IAC;
 | |
|  	if ((*slc_replyp++ = flags) == IAC)
 | |
| @@ -1221,6 +1230,9 @@
 | |
|  {
 | |
|      int len;
 | |
|  
 | |
| +    /* The end of negotiation command requires 2 bytes. */
 | |
| +    if (&slc_replyp[2] > slc_reply_eom)
 | |
| +            return;
 | |
|      *slc_replyp++ = IAC;
 | |
|      *slc_replyp++ = SE;
 | |
|      len = slc_replyp - slc_reply;
 | |
| @@ -1338,8 +1350,8 @@
 | |
|  	}
 | |
|  }
 | |
|  
 | |
| -#define	OPT_REPLY_SIZE	256
 | |
| -unsigned char *opt_reply;
 | |
| +#define	OPT_REPLY_SIZE	(2 * SUBBUFSIZE)
 | |
| +unsigned char *opt_reply = NULL;
 | |
|  unsigned char *opt_replyp;
 | |
|  unsigned char *opt_replyend;
 | |
|  
 | |
| @@ -1392,9 +1404,9 @@
 | |
|  		return;
 | |
|  	}
 | |
|  	vp = env_getvalue(ep);
 | |
| -	if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
 | |
| -				strlen((char *)ep) + 6 > opt_replyend)
 | |
| -	{
 | |
| +        if (opt_replyp + (vp ? 2 * strlen((char *)vp) : 0) +
 | |
| +                                2 * strlen((char *)ep) + 6 > opt_replyend)
 | |
| +        {
 | |
|  		int len;
 | |
|  		opt_replyend += OPT_REPLY_SIZE;
 | |
|  		len = opt_replyend - opt_reply;
 | |
| @@ -1418,6 +1430,8 @@
 | |
|  		*opt_replyp++ = ENV_USERVAR;
 | |
|  	for (;;) {
 | |
|  		while ((c = *ep++)) {
 | |
| +			if (opt_replyp + (2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  			switch(c&0xff) {
 | |
|  			case IAC:
 | |
|  				*opt_replyp++ = IAC;
 | |
| @@ -1432,6 +1446,8 @@
 | |
|  			*opt_replyp++ = c;
 | |
|  		}
 | |
|  		if ((ep = vp)) {
 | |
| +			if (opt_replyp + (1 + 2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  #ifdef	OLD_ENVIRON
 | |
|  			if (telopt_environ == TELOPT_OLD_ENVIRON)
 | |
|  				*opt_replyp++ = old_env_value;
 | |
| @@ -1462,7 +1478,9 @@
 | |
|  {
 | |
|  	int len;
 | |
|  
 | |
| -	len = opt_replyp - opt_reply + 2;
 | |
| +	if (opt_replyp + 2 > opt_replyend)
 | |
| +		return;
 | |
| +	len = opt_replyp + 2 - opt_reply;
 | |
|  	if (emptyok || len > 6) {
 | |
|  		*opt_replyp++ = IAC;
 | |
|  		*opt_replyp++ = SE;
 | |
| Index: crypto/telnet/telnet/telnet.c
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/crypto/telnet/telnet/Attic/telnet.c,v
 | |
| retrieving revision 1.4.2.5
 | |
| diff -u -r1.4.2.5 telnet.c
 | |
| --- crypto/telnet/telnet/telnet.c	13 Apr 2002 10:59:08 -0000	1.4.2.5
 | |
| +++ crypto/telnet/telnet/telnet.c	27 Mar 2005 18:34:33 -0000
 | |
| @@ -1318,6 +1318,7 @@
 | |
|  }
 | |
|  
 | |
|  unsigned char slc_reply[128];
 | |
| +unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
 | |
|  unsigned char *slc_replyp;
 | |
|  
 | |
|  void
 | |
| @@ -1333,6 +1334,14 @@
 | |
|  void
 | |
|  slc_add_reply(unsigned char func, unsigned char flags, cc_t value)
 | |
|  {
 | |
| +	/* A sequence of up to 6 bytes my be written for this member of the SLC
 | |
| +	 * suboption list by this function.  The end of negotiation command,
 | |
| +	 * which is written by slc_end_reply(), will require 2 additional
 | |
| +	 * bytes.  Do not proceed unless there is sufficient space for these
 | |
| +	 * items.
 | |
| +	 */
 | |
| +	if (&slc_replyp[6+2] > slc_reply_eom)
 | |
| +		return;
 | |
|  	if ((*slc_replyp++ = func) == IAC)
 | |
|  		*slc_replyp++ = IAC;
 | |
|  	if ((*slc_replyp++ = flags) == IAC)
 | |
| @@ -1346,6 +1355,9 @@
 | |
|  {
 | |
|      int len;
 | |
|  
 | |
| +    /* The end of negotiation command requires 2 bytes. */
 | |
| +    if (&slc_replyp[2] > slc_reply_eom)
 | |
| +            return;
 | |
|      *slc_replyp++ = IAC;
 | |
|      *slc_replyp++ = SE;
 | |
|      len = slc_replyp - slc_reply;
 | |
| @@ -1463,8 +1475,8 @@
 | |
|  	}
 | |
|  }
 | |
|  
 | |
| -#define	OPT_REPLY_SIZE	256
 | |
| -unsigned char *opt_reply;
 | |
| +#define	OPT_REPLY_SIZE	(2 * SUBBUFSIZE)
 | |
| +unsigned char *opt_reply = NULL;
 | |
|  unsigned char *opt_replyp;
 | |
|  unsigned char *opt_replyend;
 | |
|  
 | |
| @@ -1517,9 +1529,9 @@
 | |
|  		return;
 | |
|  	}
 | |
|  	vp = env_getvalue(ep);
 | |
| -	if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
 | |
| -				strlen((char *)ep) + 6 > opt_replyend)
 | |
| -	{
 | |
| +        if (opt_replyp + (vp ? 2 * strlen((char *)vp) : 0) +
 | |
| +                                2 * strlen((char *)ep) + 6 > opt_replyend)
 | |
| +        {
 | |
|  		int len;
 | |
|  		opt_replyend += OPT_REPLY_SIZE;
 | |
|  		len = opt_replyend - opt_reply;
 | |
| @@ -1543,6 +1555,8 @@
 | |
|  		*opt_replyp++ = ENV_USERVAR;
 | |
|  	for (;;) {
 | |
|  		while ((c = *ep++)) {
 | |
| +			if (opt_replyp + (2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  			switch(c&0xff) {
 | |
|  			case IAC:
 | |
|  				*opt_replyp++ = IAC;
 | |
| @@ -1557,6 +1571,8 @@
 | |
|  			*opt_replyp++ = c;
 | |
|  		}
 | |
|  		if ((ep = vp)) {
 | |
| +			if (opt_replyp + (1 + 2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  #ifdef	OLD_ENVIRON
 | |
|  			if (telopt_environ == TELOPT_OLD_ENVIRON)
 | |
|  				*opt_replyp++ = old_env_value;
 | |
| @@ -1587,7 +1603,9 @@
 | |
|  {
 | |
|  	int len;
 | |
|  
 | |
| -	len = opt_replyp - opt_reply + 2;
 | |
| +	if (opt_replyp + 2 > opt_replyend)
 | |
| +		return;
 | |
| +	len = opt_replyp + 2 - opt_reply;
 | |
|  	if (emptyok || len > 6) {
 | |
|  		*opt_replyp++ = IAC;
 | |
|  		*opt_replyp++ = SE;
 | |
| Index: crypto/heimdal/appl/telnet/telnet/telnet.c
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/crypto/heimdal/appl/telnet/telnet/telnet.c,v
 | |
| retrieving revision 1.1.1.1.2.3
 | |
| diff -u -r1.1.1.1.2.3 telnet.c
 | |
| --- crypto/heimdal/appl/telnet/telnet/telnet.c	1 Sep 2002 04:21:35 -0000	1.1.1.1.2.3
 | |
| +++ crypto/heimdal/appl/telnet/telnet/telnet.c	27 Mar 2005 18:34:08 -0000
 | |
| @@ -1294,6 +1294,7 @@
 | |
|  
 | |
|  
 | |
|  unsigned char slc_reply[128];
 | |
| +unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
 | |
|  unsigned char *slc_replyp;
 | |
|  
 | |
|  void
 | |
| @@ -1309,6 +1310,14 @@
 | |
|  void
 | |
|  slc_add_reply(unsigned char func, unsigned char flags, cc_t value)
 | |
|  {
 | |
| +	/* A sequence of up to 6 bytes my be written for this member of the SLC
 | |
| +	 * suboption list by this function.  The end of negotiation command,
 | |
| +	 * which is written by slc_end_reply(), will require 2 additional
 | |
| +	 * bytes.  Do not proceed unless there is sufficient space for these
 | |
| +	 * items.
 | |
| +	 */
 | |
| +	if (&slc_replyp[6+2] > slc_reply_eom)
 | |
| +		return;
 | |
|  	if ((*slc_replyp++ = func) == IAC)
 | |
|  		*slc_replyp++ = IAC;
 | |
|  	if ((*slc_replyp++ = flags) == IAC)
 | |
| @@ -1322,6 +1331,9 @@
 | |
|  {
 | |
|      int len;
 | |
|  
 | |
| +    /* The end of negotiation command requires 2 bytes. */
 | |
| +    if (&slc_replyp[2] > slc_reply_eom)
 | |
| +            return;
 | |
|      *slc_replyp++ = IAC;
 | |
|      *slc_replyp++ = SE;
 | |
|      len = slc_replyp - slc_reply;
 | |
| @@ -1415,8 +1427,8 @@
 | |
|  	}
 | |
|  }
 | |
|  
 | |
| -#define	OPT_REPLY_SIZE	256
 | |
| -unsigned char *opt_reply;
 | |
| +#define	OPT_REPLY_SIZE	(2 * SUBBUFSIZE)
 | |
| +unsigned char *opt_reply = NULL;
 | |
|  unsigned char *opt_replyp;
 | |
|  unsigned char *opt_replyend;
 | |
|  
 | |
| @@ -1475,9 +1487,9 @@
 | |
|  		return;
 | |
|  	}
 | |
|  	vp = env_getvalue(ep);
 | |
| -	if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
 | |
| -				strlen((char *)ep) + 6 > opt_replyend)
 | |
| -	{
 | |
| +        if (opt_replyp + (vp ? 2 * strlen((char *)vp) : 0) +
 | |
| +                                2 * strlen((char *)ep) + 6 > opt_replyend)
 | |
| +        {
 | |
|  		int len;
 | |
|  		void *tmp;
 | |
|  		opt_replyend += OPT_REPLY_SIZE;
 | |
| @@ -1503,6 +1515,8 @@
 | |
|  		*opt_replyp++ = ENV_USERVAR;
 | |
|  	for (;;) {
 | |
|  		while ((c = *ep++)) {
 | |
| +			if (opt_replyp + (2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  			switch(c&0xff) {
 | |
|  			case IAC:
 | |
|  				*opt_replyp++ = IAC;
 | |
| @@ -1517,6 +1531,8 @@
 | |
|  			*opt_replyp++ = c;
 | |
|  		}
 | |
|  		if ((ep = vp)) {
 | |
| +			if (opt_replyp + (1 + 2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  #ifdef	OLD_ENVIRON
 | |
|  			if (telopt_environ == TELOPT_OLD_ENVIRON)
 | |
|  				*opt_replyp++ = old_env_value;
 | |
| @@ -1547,7 +1563,9 @@
 | |
|  {
 | |
|  	int len;
 | |
|  
 | |
| -	len = opt_replyp - opt_reply + 2;
 | |
| +	if (opt_replyp + 2 > opt_replyend)
 | |
| +		return;
 | |
| +	len = opt_replyp + 2 - opt_reply;
 | |
|  	if (emptyok || len > 6) {
 | |
|  		*opt_replyp++ = IAC;
 | |
|  		*opt_replyp++ = SE;
 | |
| Index: crypto/kerberosIV/appl/telnet/telnet/telnet.c
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/crypto/kerberosIV/appl/telnet/telnet/Attic/telnet.c,v
 | |
| retrieving revision 1.1.1.1
 | |
| diff -u -r1.1.1.1 telnet.c
 | |
| --- crypto/kerberosIV/appl/telnet/telnet/telnet.c	19 Sep 1999 14:19:15 -0000	1.1.1.1
 | |
| +++ crypto/kerberosIV/appl/telnet/telnet/telnet.c	27 Mar 2005 18:34:21 -0000
 | |
| @@ -1285,6 +1285,7 @@
 | |
|  
 | |
|  
 | |
|  unsigned char slc_reply[128];
 | |
| +unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
 | |
|  unsigned char *slc_replyp;
 | |
|  
 | |
|  void
 | |
| @@ -1300,6 +1301,14 @@
 | |
|  void
 | |
|  slc_add_reply(unsigned char func, unsigned char flags, cc_t value)
 | |
|  {
 | |
| +	/* A sequence of up to 6 bytes my be written for this member of the SLC
 | |
| +	 * suboption list by this function.  The end of negotiation command,
 | |
| +	 * which is written by slc_end_reply(), will require 2 additional
 | |
| +	 * bytes.  Do not proceed unless there is sufficient space for these
 | |
| +	 * items.
 | |
| +	 */
 | |
| +	if (&slc_replyp[6+2] > slc_reply_eom)
 | |
| +		return;
 | |
|  	if ((*slc_replyp++ = func) == IAC)
 | |
|  		*slc_replyp++ = IAC;
 | |
|  	if ((*slc_replyp++ = flags) == IAC)
 | |
| @@ -1313,6 +1322,9 @@
 | |
|  {
 | |
|      int len;
 | |
|  
 | |
| +    /* The end of negotiation command requires 2 bytes. */
 | |
| +    if (&slc_replyp[2] > slc_reply_eom)
 | |
| +            return;
 | |
|      *slc_replyp++ = IAC;
 | |
|      *slc_replyp++ = SE;
 | |
|      len = slc_replyp - slc_reply;
 | |
| @@ -1406,8 +1418,8 @@
 | |
|  	}
 | |
|  }
 | |
|  
 | |
| -#define	OPT_REPLY_SIZE	256
 | |
| -unsigned char *opt_reply;
 | |
| +#define	OPT_REPLY_SIZE	(2 * SUBBUFSIZE)
 | |
| +unsigned char *opt_reply = NULL;
 | |
|  unsigned char *opt_replyp;
 | |
|  unsigned char *opt_replyend;
 | |
|  
 | |
| @@ -1460,9 +1472,9 @@
 | |
|  		return;
 | |
|  	}
 | |
|  	vp = env_getvalue(ep);
 | |
| -	if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
 | |
| -				strlen((char *)ep) + 6 > opt_replyend)
 | |
| -	{
 | |
| +        if (opt_replyp + (vp ? 2 * strlen((char *)vp) : 0) +
 | |
| +                                2 * strlen((char *)ep) + 6 > opt_replyend)
 | |
| +        {
 | |
|  		int len;
 | |
|  		opt_replyend += OPT_REPLY_SIZE;
 | |
|  		len = opt_replyend - opt_reply;
 | |
| @@ -1486,6 +1498,8 @@
 | |
|  		*opt_replyp++ = ENV_USERVAR;
 | |
|  	for (;;) {
 | |
|  		while ((c = *ep++)) {
 | |
| +			if (opt_replyp + (2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  			switch(c&0xff) {
 | |
|  			case IAC:
 | |
|  				*opt_replyp++ = IAC;
 | |
| @@ -1500,6 +1514,8 @@
 | |
|  			*opt_replyp++ = c;
 | |
|  		}
 | |
|  		if ((ep = vp)) {
 | |
| +			if (opt_replyp + (1 + 2 + 2) > opt_replyend)
 | |
| +				return;
 | |
|  #ifdef	OLD_ENVIRON
 | |
|  			if (telopt_environ == TELOPT_OLD_ENVIRON)
 | |
|  				*opt_replyp++ = old_env_value;
 | |
| @@ -1530,7 +1546,9 @@
 | |
|  {
 | |
|  	int len;
 | |
|  
 | |
| -	len = opt_replyp - opt_reply + 2;
 | |
| +	if (opt_replyp + 2 > opt_replyend)
 | |
| +		return;
 | |
| +	len = opt_replyp + 2 - opt_reply;
 | |
|  	if (emptyok || len > 6) {
 | |
|  		*opt_replyp++ = IAC;
 | |
|  		*opt_replyp++ = SE;
 |