[Autosec-devel] sonar/src expand.c,1.7,1.8 expand.h,1.4,1.5
Brought to you by:
red0x
From: red0x <re...@us...> - 2004-06-11 05:14:36
|
Update of /cvsroot/autosec/sonar/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28409/src Modified Files: expand.c expand.h Log Message: plugins/rfc793.c: Calling expand string with the address info, instead of the target. src/expand.c: Protocol independent ip address printing. src/expand.h: Merged conflicts. Index: expand.c =================================================================== RCS file: /cvsroot/autosec/sonar/src/expand.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** expand.c 11 Jun 2004 04:39:36 -0000 1.7 --- expand.c 11 Jun 2004 05:14:27 -0000 1.8 *************** *** 49,53 **** char * ! expand_target(char *format, struct addrinfo *target, uint16_t port) { char *fmtptr; --- 49,53 ---- char * ! expand_target(char *format, struct addrinfo * addrinfo, uint16_t port) { char *fmtptr; *************** *** 89,93 **** case 't': /* ip:port number */ fmtptr++; ! print_ip(target, &result); checksize(1, &result); *(result.resptr++) = ':'; --- 89,93 ---- case 't': /* ip:port number */ fmtptr++; ! print_ip(addrinfo, &result); checksize(1, &result); *(result.resptr++) = ':'; *************** *** 97,101 **** case 'T': /* hostname:portname */ fmtptr++; ! print_hostname(target, &result); checksize(1, &result); *(result.resptr++) = ':'; --- 97,101 ---- case 'T': /* hostname:portname */ fmtptr++; ! print_hostname(addrinfo, &result); checksize(1, &result); *(result.resptr++) = ':'; *************** *** 105,113 **** case 'h': /* hostname */ fmtptr++; ! print_hostname(target, &result); break; case 'i': /* ip address */ fmtptr++; ! print_ip(target, &result); break; case 'p': /* port number */ --- 105,113 ---- case 'h': /* hostname */ fmtptr++; ! print_hostname(addrinfo, &result); break; case 'i': /* ip address */ fmtptr++; ! print_ip(addrinfo, &result); break; case 'p': /* port number */ *************** *** 262,270 **** int ! print_hostname(struct addrinfo *target, resultBox result) { ! int strl = strlen(target->ai_canonname); checksize(strl+2, result); ! snprintf(result->resptr, strl+1, "%s", target->ai_canonname); result->curlen+=strl; result->resptr+=strl; --- 262,270 ---- int ! print_hostname(struct addrinfo * addrinfo, resultBox result) { ! int strl = strlen(addrinfo->ai_canonname); checksize(strl+2, result); ! snprintf(result->resptr, strl+1, "%s", addrinfo->ai_canonname); result->curlen+=strl; result->resptr+=strl; *************** *** 274,279 **** int print_ip(struct addrinfo *target, resultBox result) { ! char ip[INET_ADDRSTRLEN]; ! inet_ntop(PF_INET, target->ai_addr, ip, INET_ADDRSTRLEN); int strl = strlen(ip); checksize(strl+2, result); --- 274,296 ---- int print_ip(struct addrinfo *target, resultBox result) { ! char ip[INET6_ADDRSTRLEN]; ! struct sockaddr_in *sa; ! struct sockaddr_in6 *sa6; ! /* this is the most ugly, but protcol independent ! function call i've ever written.. -red0x */ ! switch(target->ai_family) ! { ! case PF_INET: ! sa = target->ai_addr; ! inet_ntop(PF_INET, (void *)&(sa->sin_addr), ip, INET6_ADDRSTRLEN); ! break; ! case PF_INET6: ! sa6 = target->ai_addr; ! inet_ntop(PF_INET6, (void *)&(sa6->sin6_addr), ip, INET6_ADDRSTRLEN); ! break; ! default: ! /* XXX: pharkas, what should this return? */ ! return -1; ! } int strl = strlen(ip); checksize(strl+2, result); Index: expand.h =================================================================== RCS file: /cvsroot/autosec/sonar/src/expand.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** expand.h 11 Jun 2004 04:39:38 -0000 1.4 --- expand.h 11 Jun 2004 05:14:27 -0000 1.5 *************** *** 46,50 **** typedef struct rb* resultBox; ! char *expand_target(char *, struct addrinfo*, uint16_t); void checksize(int, resultBox); int countdigits(int); --- 46,50 ---- typedef struct rb* resultBox; ! char *expand_target(char *, struct addrinfo *, uint16_t); void checksize(int, resultBox); int countdigits(int); |