--- ctc_ctci.c.orig Wed Dec 14 17:17:22 2005 +++ ctc_ctci.c Wed Jan 25 20:05:14 2006 @@ -1114,7 +1114,7 @@ static int ParseArgs( DEVBLK* pDEVBLK, #if defined( WIN32 ) strcpy( pCTCBLK->szTUNCharName, tt32_get_default_iface() ); #else - strcpy( pCTCBLK->szTUNCharName, "/dev/net/tun" ); + strcpy( pCTCBLK->szTUNCharName, HERCTUN_DEV ); #endif #if defined( WIN32 ) --- ctc_lcs.c.orig Thu Dec 29 19:47:06 2005 +++ ctc_lcs.c Wed Jan 25 20:05:14 2006 @@ -1024,7 +1024,9 @@ static void LCS_Shutdown( PLCSDEV pLCSD static void LCS_StartLan( PLCSDEV pLCSDEV, PLCSHDR pHeader ) { PLCSPORT pPort; +#ifdef OPTION_TUNTAP_DELADD_ROUTES PLCSRTE pRoute; +#endif PLCSSTDFRM pReply; pPort = &pLCSDEV->pLCSBLK->Port[pLCSDEV->bPort]; --- tuntap.c.orig Sun Dec 11 16:44:16 2005 +++ tuntap.c Wed Jan 25 20:05:14 2006 @@ -159,6 +159,25 @@ int TUNTAP_CreateInterface( strcpy( pszNetDevName, ifr.ifr_name ); } #if !defined( OPTION_W32_CTCI ) + else if ( strncasecmp( utsbuf.sysname, "FreeBSD", 7 ) == 0 ) + { + struct stat sb; + + if ( ( iFlags & IFF_TAP ) == IFF_TAP ) + { + logmsg( _("HHCTU011E TAP device not yet supported\n") ); + return -1; + } + + if ( fstat(fd, &sb) == 0 ) + devname_r(sb.st_rdev, S_IFCHR, pszNetDevName, IFNAMSIZ); + else + { + logmsg( _("HHCTU010E Error getting TUN/TAP device name: %s\n"), + strerror( errno ) ); + return -1; + } + } else { // Other OS: Simply use basename of the device