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 | ||||
| Name: mtr | ||||
| Version: 0.74 | ||||
| Version: 0.75 | ||||
| Release: 1%{?dist} | ||||
| Epoch:	2 | ||||
| Epoch:	1 | ||||
| Group: Applications/Internet | ||||
| License: GPLv2+ | ||||
| URL: http://www.BitWizard.nl/mtr | ||||
| @ -10,9 +10,6 @@ Source:	ftp://ftp.bitwizard.nl/mtr/%{name}-%{version}.tar.gz | ||||
| Source1: xmtr.consolehelper | ||||
| Source2: xmtr.pam | ||||
| 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 | ||||
| 
 | ||||
| Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | ||||
| @ -35,9 +32,6 @@ diagnostic tool. | ||||
| 
 | ||||
| %prep | ||||
| %setup -q | ||||
| %patch1 -p1 -b .CVE-2002-0497 | ||||
| %patch2 -p1 -b .format | ||||
| %patch3 -p1 -b .underflow | ||||
| 
 | ||||
| %build | ||||
| %configure --enable-gtk2 | ||||
| @ -88,6 +82,10 @@ rm -rf $RPM_BUILD_ROOT | ||||
| %{_datadir}/pixmaps/mtr_icon.xpm | ||||
| 
 | ||||
| %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 | ||||
| - Updated to 0.74 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user