Mercurial > noffle
comparison src/protocol.c @ 251:030c41dfd9ba noffle
[svn] * src/protocol.c: Change strcpy to Utl_strcpy and replace ascii check
with isascii().
| author | bears |
|---|---|
| date | Wed, 26 Jun 2002 14:13:26 +0100 |
| parents | 93d5d8b098da |
| children | 3477050e8d10 |
comparison
equal
deleted
inserted
replaced
| 250:93d5d8b098da | 251:030c41dfd9ba |
|---|---|
| 1 /* | 1 /* |
| 2 protocol.c | 2 protocol.c |
| 3 | 3 |
| 4 $Id: protocol.c 382 2002-06-05 22:03:44Z mirkol $ | 4 $Id: protocol.c 383 2002-06-26 13:13:26Z bears $ |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 #if HAVE_CONFIG_H | 7 #if HAVE_CONFIG_H |
| 8 #include <config.h> | 8 #include <config.h> |
| 9 #endif | 9 #endif |
| 299 if ( len > 250 ) | 299 if ( len > 250 ) |
| 300 return FALSE; /* see draft-ietf-usefor-article-06.txt, ch 5.3 */ | 300 return FALSE; /* see draft-ietf-usefor-article-06.txt, ch 5.3 */ |
| 301 p = strchr( msgId, '@' ); | 301 p = strchr( msgId, '@' ); |
| 302 if ( msgId[ 0 ] != '<' || msgId[ len - 1 ] != '>' || p == NULL ) | 302 if ( msgId[ 0 ] != '<' || msgId[ len - 1 ] != '>' || p == NULL ) |
| 303 return FALSE; | 303 return FALSE; |
| 304 strcpy( domain, p + 1 ); | 304 Utl_cpyStr( domain, p + 1 ); |
| 305 domain[ strlen( domain ) - 1 ] = '\0'; | 305 domain[ strlen( domain ) - 1 ] = '\0'; |
| 306 headLen = p - msgId - 1; | 306 headLen = p - msgId - 1; |
| 307 Utl_cpyStrN( head, msgId + 1, headLen ); | 307 Utl_cpyStrN( head, msgId + 1, headLen ); |
| 308 head[ headLen ] = '\0'; | 308 head[ headLen ] = '\0'; |
| 309 for ( p = msgId ; *p != '\0' ; p++ ) | 309 for ( p = msgId ; *p != '\0' ; p++ ) |
| 310 { | 310 { |
| 311 if ( ( (unsigned char ) *p ) >= 128 ) | 311 if ( ! isascii( *p ) ) |
| 312 return FALSE; /* pure 7bit ASCII */ | 312 return FALSE; |
| 313 } | 313 } |
| 314 if ( strpbrk( head, specials ) ) | 314 if ( strpbrk( head, specials ) ) |
| 315 return FALSE; | 315 return FALSE; |
| 316 if ( strpbrk( domain, specials ) ) | 316 if ( strpbrk( domain, specials ) ) |
| 317 return FALSE; | |
| 318 /* | |
| 319 To do: Maybe compare domain with a config option | |
| 320 and replace it by the config option, if not equal. | |
| 321 */ | |
| 322 if ( strchr( domain, '.' ) == NULL ) | |
| 323 return FALSE; | 317 return FALSE; |
| 324 return TRUE; | 318 return TRUE; |
| 325 } | 319 } |
| 326 | 320 |
| 327 void | 321 void |
