OSDN Git Service

fixed error on ip address conversion
authorwatanaby <watanaby@users.sourceforge.net>
Thu, 13 Jun 2013 06:15:14 +0000 (15:15 +0900)
committerwatanaby <watanaby@users.sourceforge.net>
Thu, 13 Jun 2013 06:15:14 +0000 (15:15 +0900)
doc/Changes.html
mdsrc/opengatemd.c
mdsrc/opengatemd.h
mdsrc/pcap.c

index 579238a..ae9801c 100644 (file)
@@ -212,6 +212,10 @@ OpengateM History</H3>
        </DT><DD>
        Fixed bug in script to create vendor table(opengatemsql)
        </DD>
+       <DT>Ver.0.8.2 at 2013.6.13
+       </DT><DD>
+       Fixed bug in ip-address conversion(opengatemd)
+       </DD>
 </DL>
 
 </BODY>
index f1ef896..14370b7 100644 (file)
@@ -175,7 +175,7 @@ int  main(int argc, char **argv)
     /* if sig-hup flag is on, reload this program */
     if(sigHupArrived)execlp(argv[0], argv[0], NULL);
 
-    /* if mac addresses are received from management proc by udp
+    /* if mac addresses are received from management program through udp port
        remove the addresses from caches */
     if(sigIoArrived){
       sigIoArrived=FALSE;
@@ -193,7 +193,8 @@ int  main(int argc, char **argv)
     /* if no packet */
     if(ret==0){
 
-      /* check useless sessions at some interval */
+      /* check&delete useless sessions */
+      /* when long time passed from previous check */
       if( time(NULL) - uselessCheckTime > checkInterval ){
        uselessCheckTime = time(NULL);
        DelUselessSessions();
@@ -216,14 +217,14 @@ int  main(int argc, char **argv)
 
     /* convert address from network-raw form to presentation form */
     ConvertMacFromRawToDisplay(macAddressRaw,macAddress);
-    if(!ConvertIpFromRawToDisplay(ipAddressRaw,ipAddrLen,ipAddress)) continue;
+    ConvertIpFromRawToDisplay(ipAddressRaw,ipAddrLen,ipAddress);
 
     /* check nat/router and save info to db */
     isNatOrRouter=IsSentViaNatOrRouter(ipAddress, macAddress, ttl);
     if(isNatOrRouter) PutLogAtNatOrRouter(isNatOrRouter,ipAddress,macAddress,ttl);
     PutMacInfoToWorkDb(macAddress, ttl, isNatOrRouter);
 
-    /*** get the states of the terminal in data structures ***/
+    /*** get the status of the terminal from session table and DB ***/
     /* search the address in session table */
     sessionFound = IsMatchedSessionFound(macAddress);
 
index fe38713..0fcb393 100644 (file)
@@ -157,7 +157,7 @@ int InitPcap(void);
 int GetNextPacketFromPcap(unsigned char* macAddressRaw, unsigned char* ipAddressRaw, int* pIpAddrLen, int* pTtl);
 void ClosePcap(void);
 int GetMyMacAddress(char* macAddress);
-int ConvertIpFromRawToDisplay(unsigned char* ipAddressRaw, int ipAddrLen, char* ipAddress);
+void ConvertIpFromRawToDisplay(unsigned char* ipAddressRaw, int ipAddrLen, char* ipAddress);
 void ConvertMacFromRawToDisplay(unsigned char* macAddressRaw, char* macAddress);
 
 /* packetcache.c */
index e9ce6a3..7e44d91 100644 (file)
@@ -199,30 +199,22 @@ int getMyMacAddress(char* macAddress){
 /*****************************
 convert IP address from network raw form to display form 
 *****************************/
-int convertIpFromRawToDisplay(unsigned char* ipAddressRaw, int ipAddrLen, char* ipAddress){
-  int ret;
-  char zeroAddress[IPV6ADDRLN]={0};  
+void convertIpFromRawToDisplay(unsigned char* ipAddressRaw, int ipAddrLen, char* ipAddress){
   
   /* convert ip address from network form to presentation form */
   switch (ipAddrLen) { 
   case IPV4ADDRLN: 
     inet_ntop(AF_INET, ipAddressRaw, ipAddress, ADDRMAXLN);
-    if(memcmp(ipAddressRaw, zeroAddress, IPV4ADDRLN)==0) ret=FALSE;
-    else ret=TRUE;
     break;
     
   case IPV6ADDRLN: 
     inet_ntop(AF_INET6, ipAddressRaw, ipAddress, ADDRMAXLN);
-    if(memcmp(ipAddressRaw, zeroAddress, IPV6ADDRLN)==0) ret=FALSE;
-    else ret=TRUE;
     break;
     
   default:
     ipAddress[0]='\0';
-    ret=FALSE;
     break;
   }
-  return ret;
 }
 
 /*****************************
@@ -265,12 +257,10 @@ int GetMyMacAddress(char* macAddress){
   return ret;
 }
 
-int ConvertIpFromRawToDisplay(unsigned char* ipAddressRaw, int ipAddrLen, char* ipAddress){
-  int ret;
+void ConvertIpFromRawToDisplay(unsigned char* ipAddressRaw, int ipAddrLen, char* ipAddress){
   if(debug>1) err_msg("DEBUG:=>convertIpFromRawtoDisplay(%x,%d,)",ipAddressRaw[0],ipAddrLen);
-  ret=convertIpFromRawToDisplay(ipAddressRaw, ipAddrLen, ipAddress);
+  convertIpFromRawToDisplay(ipAddressRaw, ipAddrLen, ipAddress);
   if(debug>1) err_msg("DEBUG:<=convertIpFromRawToDisplay(,,%s)",ipAddress);
-  return ret;
 }
 
 void ConvertMacFromRawToDisplay(unsigned char* macAddressRaw, char* macAddress){