From 4140fee92e2293c37a8e9aa8f21254dc66433a0a Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 27 Jan 2013 21:04:23 -0600 Subject: Rename kiobuffer and KHTML --- lanbrowsing/kio_lan/AUTHORS | 2 - lanbrowsing/kio_lan/CMakeLists.txt | 48 --- lanbrowsing/kio_lan/Makefile.am | 31 -- lanbrowsing/kio_lan/README | 16 - lanbrowsing/kio_lan/TODO | 3 - lanbrowsing/kio_lan/kio_lan.cpp | 794 ----------------------------------- lanbrowsing/kio_lan/kio_lan.h | 87 ---- lanbrowsing/kio_lan/lan.desktop | 81 ---- lanbrowsing/kio_lan/lan.protocol | 15 - lanbrowsing/kio_lan/lisa.desktop | 66 --- lanbrowsing/kio_lan/rlan.protocol | 15 - lanbrowsing/tdeio_lan/AUTHORS | 2 + lanbrowsing/tdeio_lan/CMakeLists.txt | 48 +++ lanbrowsing/tdeio_lan/Makefile.am | 31 ++ lanbrowsing/tdeio_lan/README | 16 + lanbrowsing/tdeio_lan/TODO | 3 + lanbrowsing/tdeio_lan/lan.desktop | 81 ++++ lanbrowsing/tdeio_lan/lan.protocol | 15 + lanbrowsing/tdeio_lan/lisa.desktop | 66 +++ lanbrowsing/tdeio_lan/rlan.protocol | 15 + lanbrowsing/tdeio_lan/tdeio_lan.cpp | 794 +++++++++++++++++++++++++++++++++++ lanbrowsing/tdeio_lan/tdeio_lan.h | 87 ++++ 22 files changed, 1158 insertions(+), 1158 deletions(-) delete mode 100644 lanbrowsing/kio_lan/AUTHORS delete mode 100644 lanbrowsing/kio_lan/CMakeLists.txt delete mode 100644 lanbrowsing/kio_lan/Makefile.am delete mode 100644 lanbrowsing/kio_lan/README delete mode 100644 lanbrowsing/kio_lan/TODO delete mode 100644 lanbrowsing/kio_lan/kio_lan.cpp delete mode 100644 lanbrowsing/kio_lan/kio_lan.h delete mode 100644 lanbrowsing/kio_lan/lan.desktop delete mode 100644 lanbrowsing/kio_lan/lan.protocol delete mode 100644 lanbrowsing/kio_lan/lisa.desktop delete mode 100644 lanbrowsing/kio_lan/rlan.protocol create mode 100644 lanbrowsing/tdeio_lan/AUTHORS create mode 100644 lanbrowsing/tdeio_lan/CMakeLists.txt create mode 100644 lanbrowsing/tdeio_lan/Makefile.am create mode 100644 lanbrowsing/tdeio_lan/README create mode 100644 lanbrowsing/tdeio_lan/TODO create mode 100644 lanbrowsing/tdeio_lan/lan.desktop create mode 100644 lanbrowsing/tdeio_lan/lan.protocol create mode 100644 lanbrowsing/tdeio_lan/lisa.desktop create mode 100644 lanbrowsing/tdeio_lan/rlan.protocol create mode 100644 lanbrowsing/tdeio_lan/tdeio_lan.cpp create mode 100644 lanbrowsing/tdeio_lan/tdeio_lan.h (limited to 'lanbrowsing') diff --git a/lanbrowsing/kio_lan/AUTHORS b/lanbrowsing/kio_lan/AUTHORS deleted file mode 100644 index 062f9d6c..00000000 --- a/lanbrowsing/kio_lan/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Written and maintained by: -Alexander Neundorf, neundorf@kde.org diff --git a/lanbrowsing/kio_lan/CMakeLists.txt b/lanbrowsing/kio_lan/CMakeLists.txt deleted file mode 100644 index 50794770..00000000 --- a/lanbrowsing/kio_lan/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_BINARY_DIR} - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES - lan.protocol rlan.protocol - DESTINATION ${SERVICES_INSTALL_DIR} ) - -install( FILES - lan.desktop - DESTINATION ${DATA_INSTALL_DIR}/konqueror/dirtree/remote ) - -install( FILES - lan.desktop - DESTINATION ${DATA_INSTALL_DIR}/remoteview ) - -install( FILES - lisa.desktop - DESTINATION ${DATA_INSTALL_DIR}/konqsidebartng/virtual_folders/services ) - - -##### tdeio_lan (module) ########################## - -tde_add_kpart( tdeio_lan - SOURCES tdeio_lan.cpp - LINK tdeio-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/lanbrowsing/kio_lan/Makefile.am b/lanbrowsing/kio_lan/Makefile.am deleted file mode 100644 index df87f09d..00000000 --- a/lanbrowsing/kio_lan/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -## Makefile.am of tdebase/tdeioslave/man - -INCLUDES= $(all_includes) - -####### Files - -kde_module_LTLIBRARIES = tdeio_lan.la - -tdeio_lan_la_SOURCES = tdeio_lan.cpp -tdeio_lan_la_LIBADD = $(LIB_KIO) -tdeio_lan_la_LDFLAGS = -module -avoid-version -no-undefined $(all_libraries) $(KDE_RPATH) - -noinst_HEADERS = tdeio_lan.h - -kdelnk_DATA = lan.protocol rlan.protocol -kdelnkdir = $(kde_servicesdir) - -remote_DATA = lan.desktop -remotedir = $(kde_datadir)/konqueror/dirtree/remote - -remoteio_DATA = lan.desktop -remoteiodir = $(kde_datadir)/remoteview - -konq_sidebartree_DATA = lisa.desktop -konq_sidebartreedir = $(kde_datadir)/konqsidebartng/virtual_folders/services - -METASOURCES = AUTO - -messages: - $(XGETTEXT) *.cpp -o $(podir)/tdeio_lan.pot - diff --git a/lanbrowsing/kio_lan/README b/lanbrowsing/kio_lan/README deleted file mode 100644 index 224cae5b..00000000 --- a/lanbrowsing/kio_lan/README +++ /dev/null @@ -1,16 +0,0 @@ -This is a brandnew ioslave for my brandnew LISa daemon/server. -It provides something like a network neighbourhood -only relying on the TCP/IP protocol stack for KDE. Enter lan:/ to see it. -Read the README for lisa/reslisa. -LISa/resLISa is in the subdir lisa/. -Maybe you have to adjust the Makefile a little bit, it currently doesn't -use the automake/configure stuff. -On some systems (e.g. Solaris) you will have to add some libraries, like --lnsl, I think. - -Copy this directory e.g. under tdebase/tdeioslave and enter it in -tdebase/tdeioslave/Makefile.am in the SUBDIR line. The rerun make in -tdebase/tdeioslave. - -Alexander Neundorf - diff --git a/lanbrowsing/kio_lan/TODO b/lanbrowsing/kio_lan/TODO deleted file mode 100644 index 8640402e..00000000 --- a/lanbrowsing/kio_lan/TODO +++ /dev/null @@ -1,3 +0,0 @@ -mainly testing, I think - -Alex diff --git a/lanbrowsing/kio_lan/kio_lan.cpp b/lanbrowsing/kio_lan/kio_lan.cpp deleted file mode 100644 index e573f7ea..00000000 --- a/lanbrowsing/kio_lan/kio_lan.cpp +++ /dev/null @@ -1,794 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2000,2001 Alexander Neundorf - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "tdeio_lan.h" - -#ifndef AF_LOCAL -#define AF_LOCAL AF_UNIX -#endif - -#define PORTSETTINGS_CHECK 0 -#define PORTSETTINGS_PROVIDE 1 -#define PORTSETTINGS_DISABLE 2 - -using namespace TDEIO; - -#ifndef SHUT_RDWR -#define SHUT_RDWR 2 -#endif - -extern "C" { KDE_EXPORT int kdemain(int argc, char **argv); } - -int kdemain( int argc, char **argv ) -{ - TDEInstance instance( "tdeio_lan" ); - - if (argc != 4) - { - fprintf(stderr, "Usage: tdeio_lan protocol domain-socket1 domain-socket2\n"); - exit(-1); - } - int isLanIoslave=(strcmp("lan",argv[1])==0); - - // Trigger creation to make sure we pick up KIOSK settings correctly. - (void)TDEGlobal::dirs(); - (void)TDEGlobal::locale(); - (void)TDEGlobal::config(); - - kdDebug(7101) << "LAN: kdemain: starting" << endl; - - LANProtocol slave(isLanIoslave, argv[2], argv[3]); - slave.dispatchLoop(); - return 0; -} - -LANProtocol::LANProtocol(int isLanIoslave, const TQCString &pool, const TQCString &app ) -:TCPSlaveBase(7741,isLanIoslave?"lan":"rlan", pool, app) -,m_currentHost("") -,m_port(7741) -,m_maxAge(15*60) -,m_isLanIoslave(isLanIoslave?true:false) -{ - TDEConfig *config=TDEGlobal::config(); - - m_protocolInfo[KIOLAN_FTP].enabled=config->readNumEntry("Support_FTP",PORTSETTINGS_CHECK); - m_protocolInfo[KIOLAN_HTTP].enabled=config->readNumEntry("Support_HTTP",PORTSETTINGS_CHECK); - m_protocolInfo[KIOLAN_NFS].enabled=config->readNumEntry("Support_NFS",PORTSETTINGS_CHECK); - m_protocolInfo[KIOLAN_SMB].enabled=config->readNumEntry("Support_SMB",PORTSETTINGS_CHECK); - m_protocolInfo[KIOLAN_FISH].enabled=config->readNumEntry("Support_FISH",PORTSETTINGS_CHECK); - - m_defaultLisaHost=config->readEntry("DefaultLisaHost", "localhost"); - m_shortHostnames=config->readBoolEntry("ShowShortHostnames",false); - m_maxAge=config->readNumEntry("MaxAge",15)*60; - if (m_maxAge<0) m_maxAge=0; - - strcpy(m_protocolInfo[KIOLAN_NFS].name,"NFS"); - strcpy(m_protocolInfo[KIOLAN_FTP].name,"FTP"); - strcpy(m_protocolInfo[KIOLAN_SMB].name,"SMB"); - strcpy(m_protocolInfo[KIOLAN_HTTP].name,"HTTP"); - strcpy(m_protocolInfo[KIOLAN_FISH].name,"FISH"); - - // Now we check for port 445 for SMB/CIFS also. But we call both entries - // SMB. Clients will see only one SMB folder, though, whichever - // port (or both) is detected. The smb ioslave should be able - // to figure out which port to actually use. - - m_protocolInfo[KIOLAN_NFS].ports.push_back(2049); - m_protocolInfo[KIOLAN_FTP].ports.push_back(21); - m_protocolInfo[KIOLAN_SMB].ports.push_back(445); - m_protocolInfo[KIOLAN_SMB].ports.push_back(139); - m_protocolInfo[KIOLAN_HTTP].ports.push_back(80); - m_protocolInfo[KIOLAN_FISH].ports.push_back(22); - - m_hostInfoCache.setAutoDelete(true); -} - -LANProtocol::~LANProtocol() -{ - m_hostInfoCache.clear(); -} - -int LANProtocol::readDataFromServer() -{ - if (m_isLanIoslave) - return lanReadDataFromServer(); - else - return rlanReadDataFromServer(); - return 0; -} - -int LANProtocol::lanReadDataFromServer() -{ - kdDebug(7101)<<"LANProtocol::lanReadDataFromServer() host: "<The Lisa daemon does not appear to be running.

" - "In order to use the LAN Browser the Lisa daemon must be " - "installed and activated by the system administrator.")); - return 0; - } - kdDebug(7101)<<"LANProtocol::lanReadDataFromServer() connected"<0) - { - char *newBuf=new char[receivedBytes+bytesRead]; - if (receiveBuffer!=0) memcpy(newBuf,receiveBuffer,receivedBytes); - memcpy(newBuf+receivedBytes,tmpBuf,bytesRead); - receivedBytes+=bytesRead; - if (receiveBuffer!=0) delete [] receiveBuffer; - receiveBuffer=newBuf; - } - } - } while (bytesRead>0); - closeDescriptor(); - if ((bytesRead<0) || (receivedBytes<4)) - { - delete [] receiveBuffer; - error(ERR_INTERNAL_SERVER,i18n("Received unexpected data from %1").arg(m_currentHost)); - return 0; - } - - UDSEntry entry; - - char *currentBuf=receiveBuffer; - int bytesLeft=receivedBytes; - //this should be large enough for a name - char tmpName[4*1024]; - //this should be large enough for the hostname - char tmpHostname[4*1024]; - while (bytesLeft>0) - { - int tmpIP=2; - tmpName[0]='\0'; - if ((memchr(currentBuf,0,bytesLeft)==0) || (memchr(currentBuf,int('\n'),bytesLeft)==0)) - { - delete [] receiveBuffer; - error(ERR_INTERNAL_SERVER,i18n("Received unexpected data from %1").arg(m_currentHost)); - return 0; - } - kdDebug(7101)<<"LANProtocol::lanReadDataFromServer: processing "<pw_name; - else - //should never happen - socketname+="???"; - - strlcpy(addr.sun_path,socketname,sizeof(addr.sun_path)); - int result=::connect(sockFD,(sockaddr*)&addr, sizeof(addr)); - - kdDebug(7101)<<"readDataFromServer(): result: "<0) - { - char *newBuf=new char[receivedBytes+bytesRead]; - if (receiveBuffer!=0) memcpy(newBuf,receiveBuffer,receivedBytes); - memcpy(newBuf+receivedBytes,tmpBuf,bytesRead); - receivedBytes+=bytesRead; - if (receiveBuffer!=0) delete [] receiveBuffer; - receiveBuffer=newBuf; - } - } - } while (bytesRead>0); - ::close(sockFD); - - - if ((bytesRead<0) || (receivedBytes<4)) - { - delete [] receiveBuffer; - error(ERR_CANNOT_OPEN_FOR_READING,socketname); - return 0; - } - - UDSEntry entry; - - char *currentBuf=receiveBuffer; - int bytesLeft=receivedBytes; - //this should be large enough for a name - char tmpName[4*1024]; - //this should be large enough for the hostname - char tmpHostname[4*1024]; - while (bytesLeft>0) - { - int tmpIP=2; - tmpName[0]='\0'; - if ((memchr(currentBuf,0,bytesLeft)==0) || (memchr(currentBuf,int('\n'),bytesLeft)==0)) - { - delete [] receiveBuffer; - error(ERR_INTERNAL_SERVER,i18n("Received unexpected data from %1").arg(socketname.data())); - return 0; - } - kdDebug(7101)<<"RLANProtocol::readDataFromServer: processing "<created)>m_maxAge) - { - kdDebug(7101)<<"LAN::checkHost() cache content too old, deleting it"<h_addr, sizeof(ip)); - - for (int i=0; iservices[i]=result; - } - hostInfo->created=time(0); - m_hostInfoCache.insert(hostUpper,hostInfo); - } - //here hostInfo is always != 0 - if (hostInfo==0) - { - error( ERR_INTERNAL, "hostInfo==0" ); - return 0; - } - - UDSEntry entry; - for (int i=0; iservices[i]==1) - { - kdDebug(7101)<<"LAN::checkHost(): Host ["<& _ports, in_addr ip ) -{ - int _port=0; - struct sockaddr_in to_scan; - - to_scan.sin_family = AF_INET; - to_scan.sin_addr = ip; - - for (TQValueVector::iterator i= _ports.begin(); i != _ports.end(); i++) - { - _port=(*i); - kdDebug(7101)<<"LANProtocol::checkPort: "<<_port<2) - { - kdDebug(7101)<<"LANProtocol::listDir: too deep path: "< - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef KIO_XLAN_H -#define KIO_XLAN_H - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#define KIOLAN_HTTP 0 -#define KIOLAN_FTP 1 -#define KIOLAN_SMB 2 -#define KIOLAN_NFS 3 -#define KIOLAN_FISH 4 -#define KIOLAN_MAX 5 - -#define NAMELEN 8 - -struct MyProtocolInfo -{ - int enabled; - TQValueVector ports; - //this should be large enough for things like "FTP" and so on - char name[NAMELEN]; -}; - -struct HostInfo -{ - time_t created; - int services[KIOLAN_MAX]; -}; - -class LANProtocol : public TDEIO::TCPSlaveBase -{ - public: - LANProtocol (int isLanIoSlave, const TQCString &pool, const TQCString &app ); - virtual ~LANProtocol(); - - virtual void setHost( const TQString& host, int port, const TQString& user, const TQString& pass ); - virtual void mimetype( const KURL& ); - - virtual void listDir( const KURL& url); - virtual void stat( const KURL & url); - virtual void get( const KURL& url ); - - protected: - TQDict m_hostInfoCache; - int readDataFromServer(); - int lanReadDataFromServer(); - int rlanReadDataFromServer(); - int checkHost(const TQString& host); - int checkPort(TQValueVector& _ports, in_addr ip); - TQString m_currentHost; - unsigned short int m_port; - MyProtocolInfo m_protocolInfo[KIOLAN_MAX]; - int m_maxAge; - bool m_isLanIoslave; - bool m_shortHostnames; - TQString m_defaultLisaHost; -}; - -#endif diff --git a/lanbrowsing/kio_lan/lan.desktop b/lanbrowsing/kio_lan/lan.desktop deleted file mode 100644 index c5f1f59d..00000000 --- a/lanbrowsing/kio_lan/lan.desktop +++ /dev/null @@ -1,81 +0,0 @@ -[Desktop Entry] -Type=Link -DocPath=lisa/index.html -URL=lan:/ -Icon=network_local -Name=Local Network -Name[af]=Plaaslike Netwerk -Name[ar]=الشبكة المحلية -Name[az]=Yerli Şəbəkə -Name[be]=Мясцовая сетка -Name[bg]=Локална мрежа -Name[bn]=স্থানীয় নেটওয়ার্ক -Name[br]=Rouedad lec'hel -Name[bs]=Lokalna mreža -Name[ca]=Xarxa local -Name[cs]=Lokální síť -Name[cy]=Rhwydwaith Lleol -Name[da]=Lokalt netværk -Name[de]=Lokales Netzwerk -Name[el]=Τοπικό δίκτυο -Name[eo]=Loka reto -Name[es]=Red local -Name[et]=Kohalik võrk -Name[eu]=Sare lokala -Name[fa]=شبکۀ محلی -Name[fi]=Paikallisverkko -Name[fr]=Réseau local -Name[ga]=Gréasán Logánta -Name[gl]=Rede Local -Name[he]=רשת מקומית -Name[hi]=स्थानीय नेटवर्क -Name[hr]=Lokalna mreža -Name[hu]=Helyi hálózat -Name[id]=Jaringan lokal -Name[is]=Staðarnet -Name[it]=Rete locale -Name[ja]=ローカルネットワーク -Name[ka]=ლოკალური ქსელი -Name[kk]=Жергілікті желі -Name[km]=បណ្ដាញ​មូលដ្ឋាន -Name[ko]=지역 네트워크 -Name[lt]=Vietinis tinklas -Name[lv]=Lokālais Tīkls -Name[mk]=Локална мрежа -Name[mn]=Дотоод сүлжээ -Name[ms]=Jaringan Setempat -Name[mt]=Network Lokali -Name[nb]=Lokalt nettverk -Name[nds]=Lokaal Nettwark -Name[ne]=स्थानीय सञ्जाल -Name[nl]=Lokaal netwerk -Name[nn]=Lokalt nettverk -Name[nso]=Kgokagano Selegae -Name[pa]=ਲੋਕਲ ਨੈੱਟਵਰਕ -Name[pl]=Sieć lokalna -Name[pt]=Rede Local -Name[pt_BR]=Rede local -Name[ro]=Reţea locală -Name[ru]=Локальная сеть -Name[se]=Báikkálaš fierpmádat -Name[sk]=Lokálna sieť -Name[sl]=Krajevno omrežje -Name[sr]=Локална мрежа -Name[sr@Latn]=Lokalna mreža -Name[sv]=Lokalt nätverk -Name[ta]=உள்ளக பிணையம் -Name[tg]=Шабакаи Маҳаллӣ -Name[th]=เครือข่ายท้องถิ่น -Name[tr]=Yerel Ağ -Name[uk]=Локальна мережа -Name[uz]=Lokal tarmoq -Name[uz@cyrillic]=Локал тармоқ -Name[ven]=Vhukwamani ha tsini -Name[wa]=Rantoele locåle -Name[xh]=Umsebenzi womnatha Wobulali -Name[zh_CN]=局域网 -Name[zh_HK]=區域網絡 -Name[zh_TW]=區域網路 -Name[zu]=Oluseduze Uxhumaniso olusakazekile -Open=false -X-TDE-TreeModule=Directory diff --git a/lanbrowsing/kio_lan/lan.protocol b/lanbrowsing/kio_lan/lan.protocol deleted file mode 100644 index a4101a0e..00000000 --- a/lanbrowsing/kio_lan/lan.protocol +++ /dev/null @@ -1,15 +0,0 @@ -[Protocol] -exec=tdeio_lan -protocol=lan -input=none -output=filesystem -listing=Name,Type -reading=true -writing=false -makedir=false -deleting=false -linking=false -moving=false -DocPath=tdeioslave/lan.html -Icon=network_local -Class=:local diff --git a/lanbrowsing/kio_lan/lisa.desktop b/lanbrowsing/kio_lan/lisa.desktop deleted file mode 100644 index b4807d94..00000000 --- a/lanbrowsing/kio_lan/lisa.desktop +++ /dev/null @@ -1,66 +0,0 @@ -[Desktop Entry] -Type=Link -URL=lan:/ -Icon=network -Name=LAN Browser -Name[be]=Аглядальнік мясцовай сеткі -Name[bg]=Браузър на локалната мрежа -Name[bn]=ল্যান ব্রাউজার -Name[br]=Furcher LAN -Name[bs]=LAN preglednik -Name[ca]=Navegador LAN -Name[cs]=Prohlížení lokální sítě -Name[da]=LAN-søger -Name[de]=LAN durchsuchen -Name[el]=Περιηγητής LAN -Name[eo]=Rigardilo por loka reto -Name[es]=Navegador de red -Name[et]=Kohtvõrgu sirvija -Name[eu]=LAN arakatzailea -Name[fa]=مرورگر شبکۀ داخلی -Name[fi]=Lähiverkon selain -Name[fr]=Navigateur réseau -Name[ga]=Brabhsálaí an Ghréasáin Logánta -Name[gl]=Explorador LAN -Name[he]=LAN דפדפן -Name[hr]=Preglednik LAN-a -Name[hu]=Hálózatböngésző -Name[is]=Netflakkari -Name[it]=Navigazione della rete locale -Name[ja]=LAN ブラウザ -Name[ka]=LAN ბროუზერი -Name[kk]=LAN шолғышы -Name[km]=កម្មវិធី​រុករក​បណ្ដាញ​មូលដ្ឋាន -Name[lt]=Vietinio tinklo naršyklė -Name[lv]=LAN Pārlūks -Name[mk]=Прегледувач на LAN -Name[nb]=LAN-los -Name[nds]=Nettwark-Kieker -Name[ne]=LAN ब्राउजर -Name[nn]=LAN-lesar -Name[pa]=LAN ਝਲਕਾਰਾ -Name[pl]=Przeglądarka sieci lokalnej -Name[pt]=Navegador de Rede -Name[pt_BR]=Navegador LAN -Name[ru]=Проводник LAN -Name[se]=LAN-bláđđejeaddji -Name[sk]=Prehliadač siete -Name[sl]=Brskalnik po krajevnem omrežju -Name[sr]=Претраживач LAN-а -Name[sr@Latn]=Pretraživač LAN-a -Name[sv]=Bläddrare i lokalt nätverk -Name[ta]=LAN உலாவி -Name[tg]=Барраси Шабакаи Маҳаллӣ -Name[th]=การเรียกดูระบบแลน -Name[tr]=LAN Tarayıcı -Name[uk]=Навігатор ЛОМ -Name[ven]=Buronza ya LAN -Name[xh]=Umkhangeli zincwadi we LAN -Name[zh_CN]=局域网浏览器 -Name[zh_HK]=區域網絡瀏覽器 -Name[zh_TW]=LAN 瀏覽器 -Name[zu]=Umbheki zincwadi ze LAN -Open=false -X-TDE-TreeModule=Directory -X-TDE-KonqSidebarModule=konqsidebar_tree -X-TDE-ConfiguredURL=tdeio_lanrc:noGroup:sidebarURL diff --git a/lanbrowsing/kio_lan/rlan.protocol b/lanbrowsing/kio_lan/rlan.protocol deleted file mode 100644 index f41507e7..00000000 --- a/lanbrowsing/kio_lan/rlan.protocol +++ /dev/null @@ -1,15 +0,0 @@ -[Protocol] -exec=tdeio_lan -protocol=rlan -input=none -output=filesystem -listing=Name,Type -reading=true -writing=false -makedir=false -deleting=false -linking=false -moving=false -DocPath=tdeioslave/rlan.html -Icon=network_local -Class=:local diff --git a/lanbrowsing/tdeio_lan/AUTHORS b/lanbrowsing/tdeio_lan/AUTHORS new file mode 100644 index 00000000..062f9d6c --- /dev/null +++ b/lanbrowsing/tdeio_lan/AUTHORS @@ -0,0 +1,2 @@ +Written and maintained by: +Alexander Neundorf, neundorf@kde.org diff --git a/lanbrowsing/tdeio_lan/CMakeLists.txt b/lanbrowsing/tdeio_lan/CMakeLists.txt new file mode 100644 index 00000000..50794770 --- /dev/null +++ b/lanbrowsing/tdeio_lan/CMakeLists.txt @@ -0,0 +1,48 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES + lan.protocol rlan.protocol + DESTINATION ${SERVICES_INSTALL_DIR} ) + +install( FILES + lan.desktop + DESTINATION ${DATA_INSTALL_DIR}/konqueror/dirtree/remote ) + +install( FILES + lan.desktop + DESTINATION ${DATA_INSTALL_DIR}/remoteview ) + +install( FILES + lisa.desktop + DESTINATION ${DATA_INSTALL_DIR}/konqsidebartng/virtual_folders/services ) + + +##### tdeio_lan (module) ########################## + +tde_add_kpart( tdeio_lan + SOURCES tdeio_lan.cpp + LINK tdeio-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/lanbrowsing/tdeio_lan/Makefile.am b/lanbrowsing/tdeio_lan/Makefile.am new file mode 100644 index 00000000..df87f09d --- /dev/null +++ b/lanbrowsing/tdeio_lan/Makefile.am @@ -0,0 +1,31 @@ +## Makefile.am of tdebase/tdeioslave/man + +INCLUDES= $(all_includes) + +####### Files + +kde_module_LTLIBRARIES = tdeio_lan.la + +tdeio_lan_la_SOURCES = tdeio_lan.cpp +tdeio_lan_la_LIBADD = $(LIB_KIO) +tdeio_lan_la_LDFLAGS = -module -avoid-version -no-undefined $(all_libraries) $(KDE_RPATH) + +noinst_HEADERS = tdeio_lan.h + +kdelnk_DATA = lan.protocol rlan.protocol +kdelnkdir = $(kde_servicesdir) + +remote_DATA = lan.desktop +remotedir = $(kde_datadir)/konqueror/dirtree/remote + +remoteio_DATA = lan.desktop +remoteiodir = $(kde_datadir)/remoteview + +konq_sidebartree_DATA = lisa.desktop +konq_sidebartreedir = $(kde_datadir)/konqsidebartng/virtual_folders/services + +METASOURCES = AUTO + +messages: + $(XGETTEXT) *.cpp -o $(podir)/tdeio_lan.pot + diff --git a/lanbrowsing/tdeio_lan/README b/lanbrowsing/tdeio_lan/README new file mode 100644 index 00000000..224cae5b --- /dev/null +++ b/lanbrowsing/tdeio_lan/README @@ -0,0 +1,16 @@ +This is a brandnew ioslave for my brandnew LISa daemon/server. +It provides something like a network neighbourhood +only relying on the TCP/IP protocol stack for KDE. Enter lan:/ to see it. +Read the README for lisa/reslisa. +LISa/resLISa is in the subdir lisa/. +Maybe you have to adjust the Makefile a little bit, it currently doesn't +use the automake/configure stuff. +On some systems (e.g. Solaris) you will have to add some libraries, like +-lnsl, I think. + +Copy this directory e.g. under tdebase/tdeioslave and enter it in +tdebase/tdeioslave/Makefile.am in the SUBDIR line. The rerun make in +tdebase/tdeioslave. + +Alexander Neundorf + diff --git a/lanbrowsing/tdeio_lan/TODO b/lanbrowsing/tdeio_lan/TODO new file mode 100644 index 00000000..8640402e --- /dev/null +++ b/lanbrowsing/tdeio_lan/TODO @@ -0,0 +1,3 @@ +mainly testing, I think + +Alex diff --git a/lanbrowsing/tdeio_lan/lan.desktop b/lanbrowsing/tdeio_lan/lan.desktop new file mode 100644 index 00000000..c5f1f59d --- /dev/null +++ b/lanbrowsing/tdeio_lan/lan.desktop @@ -0,0 +1,81 @@ +[Desktop Entry] +Type=Link +DocPath=lisa/index.html +URL=lan:/ +Icon=network_local +Name=Local Network +Name[af]=Plaaslike Netwerk +Name[ar]=الشبكة المحلية +Name[az]=Yerli Şəbəkə +Name[be]=Мясцовая сетка +Name[bg]=Локална мрежа +Name[bn]=স্থানীয় নেটওয়ার্ক +Name[br]=Rouedad lec'hel +Name[bs]=Lokalna mreža +Name[ca]=Xarxa local +Name[cs]=Lokální síť +Name[cy]=Rhwydwaith Lleol +Name[da]=Lokalt netværk +Name[de]=Lokales Netzwerk +Name[el]=Τοπικό δίκτυο +Name[eo]=Loka reto +Name[es]=Red local +Name[et]=Kohalik võrk +Name[eu]=Sare lokala +Name[fa]=شبکۀ محلی +Name[fi]=Paikallisverkko +Name[fr]=Réseau local +Name[ga]=Gréasán Logánta +Name[gl]=Rede Local +Name[he]=רשת מקומית +Name[hi]=स्थानीय नेटवर्क +Name[hr]=Lokalna mreža +Name[hu]=Helyi hálózat +Name[id]=Jaringan lokal +Name[is]=Staðarnet +Name[it]=Rete locale +Name[ja]=ローカルネットワーク +Name[ka]=ლოკალური ქსელი +Name[kk]=Жергілікті желі +Name[km]=បណ្ដាញ​មូលដ្ឋាន +Name[ko]=지역 네트워크 +Name[lt]=Vietinis tinklas +Name[lv]=Lokālais Tīkls +Name[mk]=Локална мрежа +Name[mn]=Дотоод сүлжээ +Name[ms]=Jaringan Setempat +Name[mt]=Network Lokali +Name[nb]=Lokalt nettverk +Name[nds]=Lokaal Nettwark +Name[ne]=स्थानीय सञ्जाल +Name[nl]=Lokaal netwerk +Name[nn]=Lokalt nettverk +Name[nso]=Kgokagano Selegae +Name[pa]=ਲੋਕਲ ਨੈੱਟਵਰਕ +Name[pl]=Sieć lokalna +Name[pt]=Rede Local +Name[pt_BR]=Rede local +Name[ro]=Reţea locală +Name[ru]=Локальная сеть +Name[se]=Báikkálaš fierpmádat +Name[sk]=Lokálna sieť +Name[sl]=Krajevno omrežje +Name[sr]=Локална мрежа +Name[sr@Latn]=Lokalna mreža +Name[sv]=Lokalt nätverk +Name[ta]=உள்ளக பிணையம் +Name[tg]=Шабакаи Маҳаллӣ +Name[th]=เครือข่ายท้องถิ่น +Name[tr]=Yerel Ağ +Name[uk]=Локальна мережа +Name[uz]=Lokal tarmoq +Name[uz@cyrillic]=Локал тармоқ +Name[ven]=Vhukwamani ha tsini +Name[wa]=Rantoele locåle +Name[xh]=Umsebenzi womnatha Wobulali +Name[zh_CN]=局域网 +Name[zh_HK]=區域網絡 +Name[zh_TW]=區域網路 +Name[zu]=Oluseduze Uxhumaniso olusakazekile +Open=false +X-TDE-TreeModule=Directory diff --git a/lanbrowsing/tdeio_lan/lan.protocol b/lanbrowsing/tdeio_lan/lan.protocol new file mode 100644 index 00000000..a4101a0e --- /dev/null +++ b/lanbrowsing/tdeio_lan/lan.protocol @@ -0,0 +1,15 @@ +[Protocol] +exec=tdeio_lan +protocol=lan +input=none +output=filesystem +listing=Name,Type +reading=true +writing=false +makedir=false +deleting=false +linking=false +moving=false +DocPath=tdeioslave/lan.html +Icon=network_local +Class=:local diff --git a/lanbrowsing/tdeio_lan/lisa.desktop b/lanbrowsing/tdeio_lan/lisa.desktop new file mode 100644 index 00000000..b4807d94 --- /dev/null +++ b/lanbrowsing/tdeio_lan/lisa.desktop @@ -0,0 +1,66 @@ +[Desktop Entry] +Type=Link +URL=lan:/ +Icon=network +Name=LAN Browser +Name[be]=Аглядальнік мясцовай сеткі +Name[bg]=Браузър на локалната мрежа +Name[bn]=ল্যান ব্রাউজার +Name[br]=Furcher LAN +Name[bs]=LAN preglednik +Name[ca]=Navegador LAN +Name[cs]=Prohlížení lokální sítě +Name[da]=LAN-søger +Name[de]=LAN durchsuchen +Name[el]=Περιηγητής LAN +Name[eo]=Rigardilo por loka reto +Name[es]=Navegador de red +Name[et]=Kohtvõrgu sirvija +Name[eu]=LAN arakatzailea +Name[fa]=مرورگر شبکۀ داخلی +Name[fi]=Lähiverkon selain +Name[fr]=Navigateur réseau +Name[ga]=Brabhsálaí an Ghréasáin Logánta +Name[gl]=Explorador LAN +Name[he]=LAN דפדפן +Name[hr]=Preglednik LAN-a +Name[hu]=Hálózatböngésző +Name[is]=Netflakkari +Name[it]=Navigazione della rete locale +Name[ja]=LAN ブラウザ +Name[ka]=LAN ბროუზერი +Name[kk]=LAN шолғышы +Name[km]=កម្មវិធី​រុករក​បណ្ដាញ​មូលដ្ឋាន +Name[lt]=Vietinio tinklo naršyklė +Name[lv]=LAN Pārlūks +Name[mk]=Прегледувач на LAN +Name[nb]=LAN-los +Name[nds]=Nettwark-Kieker +Name[ne]=LAN ब्राउजर +Name[nn]=LAN-lesar +Name[pa]=LAN ਝਲਕਾਰਾ +Name[pl]=Przeglądarka sieci lokalnej +Name[pt]=Navegador de Rede +Name[pt_BR]=Navegador LAN +Name[ru]=Проводник LAN +Name[se]=LAN-bláđđejeaddji +Name[sk]=Prehliadač siete +Name[sl]=Brskalnik po krajevnem omrežju +Name[sr]=Претраживач LAN-а +Name[sr@Latn]=Pretraživač LAN-a +Name[sv]=Bläddrare i lokalt nätverk +Name[ta]=LAN உலாவி +Name[tg]=Барраси Шабакаи Маҳаллӣ +Name[th]=การเรียกดูระบบแลน +Name[tr]=LAN Tarayıcı +Name[uk]=Навігатор ЛОМ +Name[ven]=Buronza ya LAN +Name[xh]=Umkhangeli zincwadi we LAN +Name[zh_CN]=局域网浏览器 +Name[zh_HK]=區域網絡瀏覽器 +Name[zh_TW]=LAN 瀏覽器 +Name[zu]=Umbheki zincwadi ze LAN +Open=false +X-TDE-TreeModule=Directory +X-TDE-KonqSidebarModule=konqsidebar_tree +X-TDE-ConfiguredURL=tdeio_lanrc:noGroup:sidebarURL diff --git a/lanbrowsing/tdeio_lan/rlan.protocol b/lanbrowsing/tdeio_lan/rlan.protocol new file mode 100644 index 00000000..f41507e7 --- /dev/null +++ b/lanbrowsing/tdeio_lan/rlan.protocol @@ -0,0 +1,15 @@ +[Protocol] +exec=tdeio_lan +protocol=rlan +input=none +output=filesystem +listing=Name,Type +reading=true +writing=false +makedir=false +deleting=false +linking=false +moving=false +DocPath=tdeioslave/rlan.html +Icon=network_local +Class=:local diff --git a/lanbrowsing/tdeio_lan/tdeio_lan.cpp b/lanbrowsing/tdeio_lan/tdeio_lan.cpp new file mode 100644 index 00000000..e573f7ea --- /dev/null +++ b/lanbrowsing/tdeio_lan/tdeio_lan.cpp @@ -0,0 +1,794 @@ +/* This file is part of the KDE project + Copyright (C) 2000,2001 Alexander Neundorf + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tdeio_lan.h" + +#ifndef AF_LOCAL +#define AF_LOCAL AF_UNIX +#endif + +#define PORTSETTINGS_CHECK 0 +#define PORTSETTINGS_PROVIDE 1 +#define PORTSETTINGS_DISABLE 2 + +using namespace TDEIO; + +#ifndef SHUT_RDWR +#define SHUT_RDWR 2 +#endif + +extern "C" { KDE_EXPORT int kdemain(int argc, char **argv); } + +int kdemain( int argc, char **argv ) +{ + TDEInstance instance( "tdeio_lan" ); + + if (argc != 4) + { + fprintf(stderr, "Usage: tdeio_lan protocol domain-socket1 domain-socket2\n"); + exit(-1); + } + int isLanIoslave=(strcmp("lan",argv[1])==0); + + // Trigger creation to make sure we pick up KIOSK settings correctly. + (void)TDEGlobal::dirs(); + (void)TDEGlobal::locale(); + (void)TDEGlobal::config(); + + kdDebug(7101) << "LAN: kdemain: starting" << endl; + + LANProtocol slave(isLanIoslave, argv[2], argv[3]); + slave.dispatchLoop(); + return 0; +} + +LANProtocol::LANProtocol(int isLanIoslave, const TQCString &pool, const TQCString &app ) +:TCPSlaveBase(7741,isLanIoslave?"lan":"rlan", pool, app) +,m_currentHost("") +,m_port(7741) +,m_maxAge(15*60) +,m_isLanIoslave(isLanIoslave?true:false) +{ + TDEConfig *config=TDEGlobal::config(); + + m_protocolInfo[KIOLAN_FTP].enabled=config->readNumEntry("Support_FTP",PORTSETTINGS_CHECK); + m_protocolInfo[KIOLAN_HTTP].enabled=config->readNumEntry("Support_HTTP",PORTSETTINGS_CHECK); + m_protocolInfo[KIOLAN_NFS].enabled=config->readNumEntry("Support_NFS",PORTSETTINGS_CHECK); + m_protocolInfo[KIOLAN_SMB].enabled=config->readNumEntry("Support_SMB",PORTSETTINGS_CHECK); + m_protocolInfo[KIOLAN_FISH].enabled=config->readNumEntry("Support_FISH",PORTSETTINGS_CHECK); + + m_defaultLisaHost=config->readEntry("DefaultLisaHost", "localhost"); + m_shortHostnames=config->readBoolEntry("ShowShortHostnames",false); + m_maxAge=config->readNumEntry("MaxAge",15)*60; + if (m_maxAge<0) m_maxAge=0; + + strcpy(m_protocolInfo[KIOLAN_NFS].name,"NFS"); + strcpy(m_protocolInfo[KIOLAN_FTP].name,"FTP"); + strcpy(m_protocolInfo[KIOLAN_SMB].name,"SMB"); + strcpy(m_protocolInfo[KIOLAN_HTTP].name,"HTTP"); + strcpy(m_protocolInfo[KIOLAN_FISH].name,"FISH"); + + // Now we check for port 445 for SMB/CIFS also. But we call both entries + // SMB. Clients will see only one SMB folder, though, whichever + // port (or both) is detected. The smb ioslave should be able + // to figure out which port to actually use. + + m_protocolInfo[KIOLAN_NFS].ports.push_back(2049); + m_protocolInfo[KIOLAN_FTP].ports.push_back(21); + m_protocolInfo[KIOLAN_SMB].ports.push_back(445); + m_protocolInfo[KIOLAN_SMB].ports.push_back(139); + m_protocolInfo[KIOLAN_HTTP].ports.push_back(80); + m_protocolInfo[KIOLAN_FISH].ports.push_back(22); + + m_hostInfoCache.setAutoDelete(true); +} + +LANProtocol::~LANProtocol() +{ + m_hostInfoCache.clear(); +} + +int LANProtocol::readDataFromServer() +{ + if (m_isLanIoslave) + return lanReadDataFromServer(); + else + return rlanReadDataFromServer(); + return 0; +} + +int LANProtocol::lanReadDataFromServer() +{ + kdDebug(7101)<<"LANProtocol::lanReadDataFromServer() host: "<The Lisa daemon does not appear to be running.

" + "In order to use the LAN Browser the Lisa daemon must be " + "installed and activated by the system administrator.")); + return 0; + } + kdDebug(7101)<<"LANProtocol::lanReadDataFromServer() connected"<0) + { + char *newBuf=new char[receivedBytes+bytesRead]; + if (receiveBuffer!=0) memcpy(newBuf,receiveBuffer,receivedBytes); + memcpy(newBuf+receivedBytes,tmpBuf,bytesRead); + receivedBytes+=bytesRead; + if (receiveBuffer!=0) delete [] receiveBuffer; + receiveBuffer=newBuf; + } + } + } while (bytesRead>0); + closeDescriptor(); + if ((bytesRead<0) || (receivedBytes<4)) + { + delete [] receiveBuffer; + error(ERR_INTERNAL_SERVER,i18n("Received unexpected data from %1").arg(m_currentHost)); + return 0; + } + + UDSEntry entry; + + char *currentBuf=receiveBuffer; + int bytesLeft=receivedBytes; + //this should be large enough for a name + char tmpName[4*1024]; + //this should be large enough for the hostname + char tmpHostname[4*1024]; + while (bytesLeft>0) + { + int tmpIP=2; + tmpName[0]='\0'; + if ((memchr(currentBuf,0,bytesLeft)==0) || (memchr(currentBuf,int('\n'),bytesLeft)==0)) + { + delete [] receiveBuffer; + error(ERR_INTERNAL_SERVER,i18n("Received unexpected data from %1").arg(m_currentHost)); + return 0; + } + kdDebug(7101)<<"LANProtocol::lanReadDataFromServer: processing "<pw_name; + else + //should never happen + socketname+="???"; + + strlcpy(addr.sun_path,socketname,sizeof(addr.sun_path)); + int result=::connect(sockFD,(sockaddr*)&addr, sizeof(addr)); + + kdDebug(7101)<<"readDataFromServer(): result: "<0) + { + char *newBuf=new char[receivedBytes+bytesRead]; + if (receiveBuffer!=0) memcpy(newBuf,receiveBuffer,receivedBytes); + memcpy(newBuf+receivedBytes,tmpBuf,bytesRead); + receivedBytes+=bytesRead; + if (receiveBuffer!=0) delete [] receiveBuffer; + receiveBuffer=newBuf; + } + } + } while (bytesRead>0); + ::close(sockFD); + + + if ((bytesRead<0) || (receivedBytes<4)) + { + delete [] receiveBuffer; + error(ERR_CANNOT_OPEN_FOR_READING,socketname); + return 0; + } + + UDSEntry entry; + + char *currentBuf=receiveBuffer; + int bytesLeft=receivedBytes; + //this should be large enough for a name + char tmpName[4*1024]; + //this should be large enough for the hostname + char tmpHostname[4*1024]; + while (bytesLeft>0) + { + int tmpIP=2; + tmpName[0]='\0'; + if ((memchr(currentBuf,0,bytesLeft)==0) || (memchr(currentBuf,int('\n'),bytesLeft)==0)) + { + delete [] receiveBuffer; + error(ERR_INTERNAL_SERVER,i18n("Received unexpected data from %1").arg(socketname.data())); + return 0; + } + kdDebug(7101)<<"RLANProtocol::readDataFromServer: processing "<created)>m_maxAge) + { + kdDebug(7101)<<"LAN::checkHost() cache content too old, deleting it"<h_addr, sizeof(ip)); + + for (int i=0; iservices[i]=result; + } + hostInfo->created=time(0); + m_hostInfoCache.insert(hostUpper,hostInfo); + } + //here hostInfo is always != 0 + if (hostInfo==0) + { + error( ERR_INTERNAL, "hostInfo==0" ); + return 0; + } + + UDSEntry entry; + for (int i=0; iservices[i]==1) + { + kdDebug(7101)<<"LAN::checkHost(): Host ["<& _ports, in_addr ip ) +{ + int _port=0; + struct sockaddr_in to_scan; + + to_scan.sin_family = AF_INET; + to_scan.sin_addr = ip; + + for (TQValueVector::iterator i= _ports.begin(); i != _ports.end(); i++) + { + _port=(*i); + kdDebug(7101)<<"LANProtocol::checkPort: "<<_port<2) + { + kdDebug(7101)<<"LANProtocol::listDir: too deep path: "< + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KIO_XLAN_H +#define KIO_XLAN_H + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#define KIOLAN_HTTP 0 +#define KIOLAN_FTP 1 +#define KIOLAN_SMB 2 +#define KIOLAN_NFS 3 +#define KIOLAN_FISH 4 +#define KIOLAN_MAX 5 + +#define NAMELEN 8 + +struct MyProtocolInfo +{ + int enabled; + TQValueVector ports; + //this should be large enough for things like "FTP" and so on + char name[NAMELEN]; +}; + +struct HostInfo +{ + time_t created; + int services[KIOLAN_MAX]; +}; + +class LANProtocol : public TDEIO::TCPSlaveBase +{ + public: + LANProtocol (int isLanIoSlave, const TQCString &pool, const TQCString &app ); + virtual ~LANProtocol(); + + virtual void setHost( const TQString& host, int port, const TQString& user, const TQString& pass ); + virtual void mimetype( const KURL& ); + + virtual void listDir( const KURL& url); + virtual void stat( const KURL & url); + virtual void get( const KURL& url ); + + protected: + TQDict m_hostInfoCache; + int readDataFromServer(); + int lanReadDataFromServer(); + int rlanReadDataFromServer(); + int checkHost(const TQString& host); + int checkPort(TQValueVector& _ports, in_addr ip); + TQString m_currentHost; + unsigned short int m_port; + MyProtocolInfo m_protocolInfo[KIOLAN_MAX]; + int m_maxAge; + bool m_isLanIoslave; + bool m_shortHostnames; + TQString m_defaultLisaHost; +}; + +#endif -- cgit v1.2.1