Removed confusing underflow patch Removed format patch bacause of -w option
This commit is contained in:
		
							parent
							
								
									42a5d23080
								
							
						
					
					
						commit
						56c9b0785e
					
				| @ -1,205 +0,0 @@ | |||||||
| --- mtr-0.69/dns.c.CVE-2002-0497	2005-01-11 09:32:42.000000000 +0100
 |  | ||||||
| +++ mtr-0.69/dns.c	2005-02-09 18:13:12.000000000 +0100
 |  | ||||||
| @@ -877,7 +877,7 @@
 |  | ||||||
|    if (type == T_A) { |  | ||||||
|      dorequest(rp->hostname,type,rp->id); |  | ||||||
|      if (debug) { |  | ||||||
| -      sprintf(tempstring,"Resolver: Sent reverse authentication request for \"%s\".",
 |  | ||||||
| +      snprintf(tempstring, sizeof(tempstring), "Resolver: Sent reverse authentication request for \"%s\".",
 |  | ||||||
|  	      rp->hostname); |  | ||||||
|        restell(tempstring); |  | ||||||
|      } |  | ||||||
| @@ -898,7 +898,7 @@
 |  | ||||||
|      } |  | ||||||
|      dorequest(tempstring,type,rp->id); |  | ||||||
|      if (debug) { |  | ||||||
| -      sprintf(tempstring,"Resolver: Sent domain lookup request for \"%s\".",
 |  | ||||||
| +      snprintf(tempstring, sizeof(tempstring), "Resolver: Sent domain lookup request for \"%s\".",
 |  | ||||||
|  	      strlongip( &(rp->ip) )); |  | ||||||
|        restell(tempstring); |  | ||||||
|      } |  | ||||||
| @@ -934,7 +934,7 @@
 |  | ||||||
|    rp->expiretime = sweeptime + (double)ttl; |  | ||||||
|    untieresolve(rp); |  | ||||||
|    if (debug) { |  | ||||||
| -    sprintf(tempstring,"Resolver: Lookup successful: %s\n",rp->hostname);
 |  | ||||||
| +    snprintf(tempstring, sizeof(tempstring), "Resolver: Lookup successful: %s\n",rp->hostname);
 |  | ||||||
|      restell(tempstring); |  | ||||||
|    } |  | ||||||
|  } |  | ||||||
| @@ -991,7 +991,7 @@
 |  | ||||||
|    case NOERROR: |  | ||||||
|      if (hp->ancount) { |  | ||||||
|        if (debug) { |  | ||||||
| -	sprintf(tempstring,"Resolver: Received nameserver reply. (qd:%u an:%u ns:%u ar:%u)",
 |  | ||||||
| +	snprintf(tempstring, sizeof(tempstring), "Resolver: Received nameserver reply. (qd:%u an:%u ns:%u ar:%u)",
 |  | ||||||
|                  hp->qdcount,hp->ancount,hp->nscount,hp->arcount); |  | ||||||
|  	restell(tempstring); |  | ||||||
|        } |  | ||||||
| @@ -1031,14 +1031,14 @@
 |  | ||||||
|        namestring[strlen(stackstring)] = '\0'; |  | ||||||
|        if (strcasecmp(stackstring,namestring)) { |  | ||||||
|  	if (debug) { |  | ||||||
| -	  sprintf(tempstring,"Resolver: Unknown query packet dropped. (\"%s\" does not match \"%s\")",
 |  | ||||||
| +	  snprintf(tempstring, sizeof(tempstring), "Resolver: Unknown query packet dropped. (\"%s\" does not match \"%s\")",
 |  | ||||||
|  		  stackstring,namestring); |  | ||||||
|  	  restell(tempstring); |  | ||||||
|  	} |  | ||||||
|  	return; |  | ||||||
|        } |  | ||||||
|        if (debug) { |  | ||||||
| -	sprintf(tempstring,"Resolver: Queried domain name: \"%s\"",namestring);
 |  | ||||||
| +	snprintf(tempstring, sizeof(tempstring), "Resolver: Queried domain name: \"%s\"",namestring);
 |  | ||||||
|  	restell(tempstring); |  | ||||||
|        } |  | ||||||
|        c+= r; |  | ||||||
| @@ -1049,7 +1049,7 @@
 |  | ||||||
|        qdatatype = sucknetword(c); |  | ||||||
|        qclass = sucknetword(c); |  | ||||||
|        if (qclass != C_IN) { |  | ||||||
| -	sprintf(tempstring,"Resolver error: Received unsupported query class: %u (%s)",
 |  | ||||||
| +	snprintf(tempstring, sizeof(tempstring), "Resolver error: Received unsupported query class: %u (%s)",
 |  | ||||||
|                  qclass,qclass < ClasstypeCount ? classtypes[qclass] : |  | ||||||
|  		classtypes[ClasstypeCount]); |  | ||||||
|  	restell(tempstring); |  | ||||||
| @@ -1063,7 +1063,7 @@
 |  | ||||||
|  	  } |  | ||||||
|  	break; |  | ||||||
|        default: |  | ||||||
| -	sprintf(tempstring,"Resolver error: Received unimplemented query type: %u (%s)",
 |  | ||||||
| +	snprintf(tempstring, sizeof(tempstring), "Resolver error: Received unimplemented query type: %u (%s)",
 |  | ||||||
|  		qdatatype,qdatatype < ResourcetypeCount ? |  | ||||||
|  		resourcetypes[qdatatype] : resourcetypes[ResourcetypeCount]); |  | ||||||
|  	restell(tempstring); |  | ||||||
| @@ -1085,7 +1085,7 @@
 |  | ||||||
|  	else |  | ||||||
|  	  usefulanswer = 1; |  | ||||||
|  	if (debug) { |  | ||||||
| -	  sprintf(tempstring,"Resolver: answered domain query: \"%s\"",namestring);
 |  | ||||||
| +	  snprintf(tempstring, sizeof(tempstring), "Resolver: answered domain query: \"%s\"",namestring);
 |  | ||||||
|  	  restell(tempstring); |  | ||||||
|  	} |  | ||||||
|  	c+= r; |  | ||||||
| @@ -1098,10 +1098,10 @@
 |  | ||||||
|  	ttl = sucknetlong(c); |  | ||||||
|  	rdatalength = sucknetword(c); |  | ||||||
|  	if (class != qclass) { |  | ||||||
| -	  sprintf(tempstring,"query class: %u (%s)",qclass,qclass < ClasstypeCount ?
 |  | ||||||
| +	  snprintf(tempstring, sizeof(tempstring), "query class: %u (%s)",qclass,qclass < ClasstypeCount ?
 |  | ||||||
|  		  classtypes[qclass] : classtypes[ClasstypeCount]); |  | ||||||
|  	  restell(tempstring); |  | ||||||
| -	  sprintf(tempstring,"rr class: %u (%s)",class,class < ClasstypeCount ?
 |  | ||||||
| +	  snprintf(tempstring, sizeof(tempstring), "rr class: %u (%s)",class,class < ClasstypeCount ?
 |  | ||||||
|  		  classtypes[class] : classtypes[ClasstypeCount]); |  | ||||||
|  	  restell(tempstring); |  | ||||||
|  	  restell("Resolver error: Answered class does not match queried class."); |  | ||||||
| @@ -1117,20 +1117,20 @@
 |  | ||||||
|  	} |  | ||||||
|  	if (datatype == qdatatype || datatype == T_CNAME) { |  | ||||||
|  	  if (debug) { |  | ||||||
| -	    sprintf(tempstring,"Resolver: TTL: %s",strtdiff(sendstring,ttl));
 |  | ||||||
| +	    snprintf(tempstring, sizeof(tempstring), "Resolver: TTL: %s",strtdiff(sendstring,ttl));
 |  | ||||||
|  	    restell(tempstring); |  | ||||||
|  	  } |  | ||||||
|  	  if (usefulanswer) |  | ||||||
|  	    switch (datatype) { |  | ||||||
|  	    case T_A: |  | ||||||
|  	      if (rdatalength != 4) { |  | ||||||
| -		sprintf(tempstring,"Resolver error: Unsupported rdata format for \"A\" type. (%u bytes)",
 |  | ||||||
| +		snprintf(tempstring, sizeof(tempstring), "Resolver error: Unsupported rdata format for \"A\" type. (%u bytes)",
 |  | ||||||
|  			rdatalength); |  | ||||||
|  		restell(tempstring); |  | ||||||
|  		return; |  | ||||||
|  	      } |  | ||||||
|  	      if ( addrcmp( (void *) &(rp->ip), (void *) c, af ) == 0 ) { |  | ||||||
| -		sprintf(tempstring,"Resolver: Reverse authentication failed: %s != ",
 |  | ||||||
| +		snprintf(tempstring, sizeof(tempstring), "Resolver: Reverse authentication failed: %s != ",
 |  | ||||||
|  			strlongip( &(rp->ip) )); |  | ||||||
|  		addrcpy( (void *) &alignedip, (void *) c, af ); |  | ||||||
|  		strcat(tempstring,strlongip( &alignedip )); |  | ||||||
| @@ -1138,7 +1138,7 @@
 |  | ||||||
|  		res_hostipmismatch++; |  | ||||||
|  		failrp(rp); |  | ||||||
|  	      } else { |  | ||||||
| -		sprintf(tempstring,"Resolver: Reverse authentication complete: %s == \"%s\".",
 |  | ||||||
| +		snprintf(tempstring, sizeof(tempstring), "Resolver: Reverse authentication complete: %s == \"%s\".",
 |  | ||||||
|  			strlongip( &(rp->ip) ),nonull(rp->hostname)); |  | ||||||
|  		restell(tempstring); |  | ||||||
|  		res_reversesuccess++; |  | ||||||
| @@ -1155,7 +1155,7 @@
 |  | ||||||
|  		return; |  | ||||||
|  	      } |  | ||||||
|  	      if (debug) { |  | ||||||
| -		sprintf(tempstring,"Resolver: Answered domain: \"%s\"",namestring);
 |  | ||||||
| +		snprintf(tempstring, sizeof(tempstring), "Resolver: Answered domain: \"%s\"",namestring);
 |  | ||||||
|  		restell(tempstring); |  | ||||||
|  	      } |  | ||||||
|  	      if (r > HostnameLength) { |  | ||||||
| @@ -1180,14 +1180,14 @@
 |  | ||||||
|  	      } |  | ||||||
|  	      break; |  | ||||||
|  	    default: |  | ||||||
| -	      sprintf(tempstring,"Resolver error: Received unimplemented data type: %u (%s)",
 |  | ||||||
| +	      snprintf(tempstring, sizeof(tempstring), "Resolver error: Received unimplemented data type: %u (%s)",
 |  | ||||||
|  		      datatype,datatype < ResourcetypeCount ? |  | ||||||
|  		      resourcetypes[datatype] : resourcetypes[ResourcetypeCount]); |  | ||||||
|  	      restell(tempstring); |  | ||||||
|  	    } |  | ||||||
|  	} else { |  | ||||||
|  	  if (debug) { |  | ||||||
| -	    sprintf(tempstring,"Resolver: Ignoring resource type %u. (%s)",
 |  | ||||||
| +	    snprintf(tempstring, sizeof(tempstring), "Resolver: Ignoring resource type %u. (%s)",
 |  | ||||||
|  		    datatype,datatype < ResourcetypeCount ? |  | ||||||
|  		    resourcetypes[datatype] : resourcetypes[ResourcetypeCount]); |  | ||||||
|  	    restell(tempstring); |  | ||||||
| @@ -1205,7 +1205,7 @@
 |  | ||||||
|      failrp(rp); |  | ||||||
|      break; |  | ||||||
|    default: |  | ||||||
| -    sprintf(tempstring,"Resolver: Received error response %u. (%s)",
 |  | ||||||
| +    snprintf(tempstring, sizeof(tempstring), "Resolver: Received error response %u. (%s)",
 |  | ||||||
|  	    getheader_rcode(hp),getheader_rcode(hp) < ResponsecodeCount ? |  | ||||||
|  	    responsecodes[getheader_rcode(hp)] : responsecodes[ResponsecodeCount]); |  | ||||||
|      restell(tempstring); |  | ||||||
| @@ -1236,13 +1236,13 @@
 |  | ||||||
|  		      (void *) &(from4->sin_addr), AF_INET ) == 0 ) |  | ||||||
|  	  break; |  | ||||||
|      if (i == _res.nscount) { |  | ||||||
| -      sprintf(tempstring,"Resolver error: Received reply from unknown source: %s",
 |  | ||||||
| +      snprintf(tempstring, sizeof(tempstring), "Resolver error: Received reply from unknown source: %s",
 |  | ||||||
|  	      inet_ntoa(from4->sin_addr )); |  | ||||||
|        restell(tempstring); |  | ||||||
|      } else |  | ||||||
|        parserespacket((byte *)resrecvbuf,r); |  | ||||||
|    } else { |  | ||||||
| -    sprintf(tempstring,"Resolver: Socket error: %s",strerror(errno));
 |  | ||||||
| +    snprintf(tempstring, sizeof(tempstring), "Resolver: Socket error: %s",strerror(errno));
 |  | ||||||
|      restell(tempstring); |  | ||||||
|    } |  | ||||||
|  } |  | ||||||
| @@ -1271,7 +1271,7 @@
 |  | ||||||
|      case STATE_FINISHED:	/* TTL has expired */ |  | ||||||
|      case STATE_FAILED:	/* Fake TTL has expired */ |  | ||||||
|        if (debug) { |  | ||||||
| -	sprintf(tempstring,"Resolver: Cache record for \"%s\" (%s) has expired. (state: %u)  Marked for expire at: %g, time: %g.",
 |  | ||||||
| +	snprintf(tempstring, sizeof(tempstring), "Resolver: Cache record for \"%s\" (%s) has expired. (state: %u)  Marked for expire at: %g, time: %g.",
 |  | ||||||
|                  nonull(rp->hostname), strlongip( &(rp->ip) ),  |  | ||||||
|  		rp->state, rp->expiretime, sweeptime); |  | ||||||
|  	restell(tempstring); |  | ||||||
| @@ -1315,14 +1315,14 @@
 |  | ||||||
|      if ((rp->state == STATE_FINISHED) || (rp->state == STATE_FAILED)) { |  | ||||||
|        if ((rp->state == STATE_FINISHED) && (rp->hostname)) { |  | ||||||
|  	if (debug) { |  | ||||||
| -	  sprintf(tempstring,"Resolver: Used cached record: %s == \"%s\".\n",
 |  | ||||||
| +	  snprintf(tempstring, sizeof(tempstring), "Resolver: Used cached record: %s == \"%s\".\n",
 |  | ||||||
|  		  strlongip(ip),rp->hostname); |  | ||||||
|  	  restell(tempstring); |  | ||||||
|  	} |  | ||||||
|  	return rp->hostname; |  | ||||||
|        } else { |  | ||||||
|  	if (debug) { |  | ||||||
| -	  sprintf(tempstring,"Resolver: Used failed record: %s == ???\n",
 |  | ||||||
| +	  snprintf(tempstring, sizeof(tempstring), "Resolver: Used failed record: %s == ???\n",
 |  | ||||||
|  		  strlongip(ip)); |  | ||||||
|  	  restell(tempstring); |  | ||||||
|  	} |  | ||||||
| @ -1,50 +0,0 @@ | |||||||
| --- mtr-0.69/mtr.c.format	2005-09-05 17:02:01.000000000 +0200
 |  | ||||||
| +++ mtr-0.69/mtr.c	2005-09-05 17:01:19.000000000 +0200
 |  | ||||||
| @@ -74,7 +74,7 @@
 |  | ||||||
|   |  | ||||||
|   |  | ||||||
|  /* default display field(defined by key in net.h) and order */ |  | ||||||
| -unsigned char fld_active[2*MAXFLD] = "LS NABWV";
 |  | ||||||
| +unsigned char fld_active[2*MAXFLD] = "LNABWV";
 |  | ||||||
|  int           fld_index[256]; |  | ||||||
|  char          available_options[MAXFLD]; |  | ||||||
|   |  | ||||||
| --- mtr-0.69/report.c.format	2005-09-05 17:02:07.000000000 +0200
 |  | ||||||
| +++ mtr-0.69/report.c	2005-09-05 17:02:53.000000000 +0200
 |  | ||||||
| @@ -58,13 +58,13 @@
 |  | ||||||
|    int len=0; |  | ||||||
|    struct hostent *host; |  | ||||||
|   |  | ||||||
| -  sprintf(buf, "HOST: %-33s", LocalHostname);
 |  | ||||||
| +  sprintf(buf, "%-33s Snt: %-5d", LocalHostname, MaxPing);
 |  | ||||||
|    for( i=0; i<MAXFLD; i++ ) { |  | ||||||
|      j = fld_index[fld_active[i]]; |  | ||||||
|      if (j < 0) continue; |  | ||||||
|   |  | ||||||
|      sprintf( fmt, "%%%ds", data_fields[j].length ); |  | ||||||
| -    sprintf( buf +33+ len, fmt, data_fields[j].title );
 |  | ||||||
| +    sprintf( buf +44+ len, fmt, data_fields[j].title );
 |  | ||||||
|      len +=  data_fields[j].length; |  | ||||||
|    } |  | ||||||
|    printf("%s\n",buf); |  | ||||||
| @@ -88,17 +88,17 @@
 |  | ||||||
|      } |  | ||||||
|   |  | ||||||
|      len=0; |  | ||||||
| -    sprintf( buf, " %2d. %-33s", at+1, name);
 |  | ||||||
| +    sprintf( buf, "%-49s", name);
 |  | ||||||
|      for( i=0; i<MAXFLD; i++ ) { |  | ||||||
|        j = fld_index[fld_active [i]]; |  | ||||||
|        if (j < 0) continue; |  | ||||||
|   |  | ||||||
|        /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */ |  | ||||||
|        if( index( data_fields[j].format, 'f' ) ) { |  | ||||||
| -	sprintf( buf +33+ len, data_fields[j].format,
 |  | ||||||
| +	sprintf( buf +44+ len, data_fields[j].format,
 |  | ||||||
|  		data_fields[j].net_xxx(at) /1000.0 ); |  | ||||||
|        } else { |  | ||||||
| -	sprintf( buf +33+ len, data_fields[j].format,
 |  | ||||||
| +	sprintf( buf +44+ len, data_fields[j].format,
 |  | ||||||
|  		data_fields[j].net_xxx(at) ); |  | ||||||
|        } |  | ||||||
|        len +=  data_fields[j].length; |  | ||||||
| @ -1,14 +0,0 @@ | |||||||
| --- mtr-0.71/net.c.fix	2006-03-24 07:37:17.000000000 +0100
 |  | ||||||
| +++ mtr-0.71/net.c	2006-05-30 08:52:50.000000000 +0200
 |  | ||||||
| @@ -354,8 +354,9 @@
 |  | ||||||
|   |  | ||||||
|    totusec = (now.tv_sec  - sequence[seq].time.tv_sec ) * 1000000 + |  | ||||||
|              (now.tv_usec - sequence[seq].time.tv_usec); |  | ||||||
| -  /* impossible? if( totusec < 0 ) totusec = 0 */;
 |  | ||||||
| -
 |  | ||||||
| +  /* sometimes < 0 */
 |  | ||||||
| +  totusec = abs(totusec);
 |  | ||||||
| +  
 |  | ||||||
|    if ( addrcmp( (void *) &(host[index].addr), |  | ||||||
|  		(void *) &unspec_addr, af ) == 0 ) { |  | ||||||
|      /* should be out of if as addr can change */ |  | ||||||
							
								
								
									
										14
									
								
								mtr.spec
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								mtr.spec
									
									
									
									
									
								
							| @ -1,8 +1,8 @@ | |||||||
| Summary: A network diagnostic tool | Summary: A network diagnostic tool | ||||||
| Name: mtr | Name: mtr | ||||||
| Version: 0.74 | Version: 0.75 | ||||||
| Release: 1%{?dist} | Release: 1%{?dist} | ||||||
| Epoch:	2 | Epoch:	1 | ||||||
| Group: Applications/Internet | Group: Applications/Internet | ||||||
| License: GPLv2+ | License: GPLv2+ | ||||||
| URL: http://www.BitWizard.nl/mtr | URL: http://www.BitWizard.nl/mtr | ||||||
| @ -10,9 +10,6 @@ Source:	ftp://ftp.bitwizard.nl/mtr/%{name}-%{version}.tar.gz | |||||||
| Source1: xmtr.consolehelper | Source1: xmtr.consolehelper | ||||||
| Source2: xmtr.pam | Source2: xmtr.pam | ||||||
| Source3: net-x%{name}.desktop | Source3: net-x%{name}.desktop | ||||||
| Patch1:	mtr-0.69-CVE-2002-0497.patch |  | ||||||
| Patch2:	mtr-0.69-format.patch |  | ||||||
| Patch3: mtr-0.71-underflow.patch |  | ||||||
| BuildRequires: ncurses-devel gtk2-devel desktop-file-utils gtk+-devel | BuildRequires: ncurses-devel gtk2-devel desktop-file-utils gtk+-devel | ||||||
| 
 | 
 | ||||||
| Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | ||||||
| @ -35,9 +32,6 @@ diagnostic tool. | |||||||
| 
 | 
 | ||||||
| %prep | %prep | ||||||
| %setup -q | %setup -q | ||||||
| %patch1 -p1 -b .CVE-2002-0497 |  | ||||||
| %patch2 -p1 -b .format |  | ||||||
| %patch3 -p1 -b .underflow |  | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| %configure --enable-gtk2 | %configure --enable-gtk2 | ||||||
| @ -88,6 +82,10 @@ rm -rf $RPM_BUILD_ROOT | |||||||
| %{_datadir}/pixmaps/mtr_icon.xpm | %{_datadir}/pixmaps/mtr_icon.xpm | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Sep 23 2008 Zdenek Prikryl <zprikryl@redhat.com> - 2:0.75-1 | ||||||
|  | - Removed confusing underflow patch | ||||||
|  | - Removed format patch bacause of -w option | ||||||
|  | 
 | ||||||
| * Thu Sep 09 2008 Zdenek Prikryl <zprikryl@redhat.com> - 2:0.74-1 | * Thu Sep 09 2008 Zdenek Prikryl <zprikryl@redhat.com> - 2:0.74-1 | ||||||
| - Updated to 0.74 | - Updated to 0.74 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user