--- ./tuntap.c.orig Sun Apr 9 12:00:35 2006 +++ ./tuntap.c Sun Apr 9 12:01:35 2006 @@ -230,6 +230,7 @@ int TUNTAP_SetIPAddr( char* sin = (struct sockaddr_in*)&ifreq.ifr_addr; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetDevName || !*pszNetDevName ) { @@ -266,6 +267,7 @@ int TUNTAP_SetDestAddr( char sin = (struct sockaddr_in*)&ifreq.ifr_addr; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetDevName || !*pszNetDevName ) { @@ -302,6 +304,7 @@ int TUNTAP_SetNetMask( char* sin = (struct sockaddr_in*)&ifreq.ifr_netmask; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetDevName || !*pszNetDevName ) { @@ -339,6 +342,7 @@ int TUNTAP_SetMTU( char* p sin = (struct sockaddr_in*)&ifreq.ifr_addr; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetDevName || !*pszNetDevName ) { @@ -424,6 +428,7 @@ int TUNTAP_SetFlags ( char* sin = (struct sockaddr_in*)&ifreq.ifr_addr; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetDevName || !*pszNetDevName ) { @@ -465,6 +470,7 @@ int TUNTAP_AddRoute( char* p sin = (struct sockaddr_in*)&rtentry.rt_dst; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszDestAddr || !inet_aton( pszDestAddr, &sin->sin_addr ) ) @@ -476,6 +482,7 @@ int TUNTAP_AddRoute( char* p sin = (struct sockaddr_in*)&rtentry.rt_genmask; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetMask || !inet_aton( pszNetMask, &sin->sin_addr ) ) @@ -489,6 +496,7 @@ int TUNTAP_AddRoute( char* p { sin = (struct sockaddr_in*)&rtentry.rt_gateway; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !inet_aton( pszGWAddr, &sin->sin_addr ) ) { @@ -530,6 +538,7 @@ int TUNTAP_DelRoute( char* p sin = (struct sockaddr_in*)&rtentry.rt_dst; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszDestAddr || !inet_aton( pszDestAddr, &sin->sin_addr ) ) @@ -541,6 +550,7 @@ int TUNTAP_DelRoute( char* p sin = (struct sockaddr_in*)&rtentry.rt_genmask; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszNetMask || !inet_aton( pszNetMask, &sin->sin_addr ) ) @@ -552,6 +562,7 @@ int TUNTAP_DelRoute( char* p sin = (struct sockaddr_in*)&rtentry.rt_gateway; sin->sin_family = AF_INET; + sin->sin_len = sizeof( struct sockaddr_in ); if( !pszGWAddr || !inet_aton( pszGWAddr, &sin->sin_addr ) )