netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] parse ip:port strings correctly in in4_pton
@ 2007-04-16  8:21 Jerome Borsboom
  2007-04-16  9:14 ` Patrick McHardy
  0 siblings, 1 reply; 4+ messages in thread
From: Jerome Borsboom @ 2007-04-16  8:21 UTC (permalink / raw)
  To: netdev

in4_pton converts a textual representation of an ip4 address into an 
integer representation. However, when the textual representation is of in 
the form ip:port, c.f. 192.168.1.1:5060, and 'delim' is set to -1, the 
function bails out when parsing the colon.

It makes sense to allow the colon as a delimiting character without 
explicitly having to set it through the 'delim' variable as there can be 
no ambiguity in the point where the ip address is completely parsed. 
Furthermore, this function is indeed called from nf_conntrack_sip.c in 
this way to parse textual ip:port combinations which fails as stated 
above.

Signed-off-by: Jerome Borsboom <j.borsboom@erasmusmc.nl>

--- linux-2.6.20/net/core/utils.c	2007-02-04 19:44:54.000000000 +0100
+++ linux-2.6.20/net/core/utils.c	2007-04-15 21:08:55.000000000 +0200
@@ -137,16 +137,16 @@
  	while(1) {
  		int c;
  		c = xdigit2bin(srclen > 0 ? *s : '\0', delim);
-		if (!(c & (IN6PTON_DIGIT | IN6PTON_DOT | IN6PTON_DELIM))) {
+		if (!(c & (IN6PTON_DIGIT | IN6PTON_DOT | IN6PTON_DELIM | IN6PTON_COLON_MASK))) {
  			goto out;
  		}
-		if (c & (IN6PTON_DOT | IN6PTON_DELIM)) {
+		if (c & (IN6PTON_DOT | IN6PTON_DELIM | IN6PTON_COLON_MASK)) {
  			if (w == 0)
  				goto out;
  			*d++ = w & 0xff;
  			w = 0;
  			i++;
-			if (c & IN6PTON_DELIM) {
+			if (c & (IN6PTON_DELIM | IN6PTON_COLON_MASK)) {
  				if (i != 4)
  					goto out;
  				break;

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-04-17  8:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-16  8:21 [PATCH] parse ip:port strings correctly in in4_pton Jerome Borsboom
2007-04-16  9:14 ` Patrick McHardy
2007-04-16  9:32   ` Jerome Borsboom
2007-04-17  8:27   ` Jerome Borsboom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).