Public Slots | |
void | socketConnectionClose () |
Signals | |
void | SignalClosed () |
Connection closed. | |
void | SignalConnected () |
Client connected. | |
void | SignalErrorAuth () |
Authentication error. | |
void | SignalShortMessage (const QString &) |
Short messages for statusBar. | |
Public Member Functions | |
ClientSocket (const int &sock, QObject *parent=0) | |
ClientSocket (Q3ListView *mylistView, QObject *parent=0) | |
void | connectionToServer (const QString &username, const QString &passwd) |
void | Disconnect () |
virtual | ~ClientSocket () |
virtual | ~ClientSocket () |
Static Public Attributes | |
static int | compteur_objet = 0 |
Private Types | |
enum | command { auth_rq, auth_ack, end, kill_user, send_msg, smb_rq, smb_data, end_smb_rq, not_imp1, server_info, error_auth, error_command, error_obj, echo_request, echo_reply, auth_rq, auth_ack, end, kill_user, send_msg, smb_rq, smb_data, end_smb_rq, not_imp1, server_info, error_auth, error_command, error_obj, echo_request, echo_reply } |
enum | command { auth_rq, auth_ack, end, kill_user, send_msg, smb_rq, smb_data, end_smb_rq, not_imp1, server_info, error_auth, error_command, error_obj, echo_request, echo_reply, auth_rq, auth_ack, end, kill_user, send_msg, smb_rq, smb_data, end_smb_rq, not_imp1, server_info, error_auth, error_command, error_obj, echo_request, echo_reply } |
Private Slots | |
void | add_lockedfile (const QString &, const QString &, const QString &, const QString &, const QString &, const QString &) |
void | add_share (const QString &, const QString &, const QString &) |
void | add_user (const QString &, const QString &, const QString &, const QString &, const QString &) |
void | AnalysisSmbDestroyed () |
void | core (const QByteArray &rcv_txt) |
void | Exception () |
void | InfoMachine () |
void | InfoServer () |
void | InfoService () |
void | InfoUser () |
void | ObjError (const QString &error_txt) |
void | readClient () |
void | setSambaVersion (const QString &) |
void | slot_echo_timer () |
void | slot_echo_timer () |
void | slot_pam () |
void | slot_smbstatus (const QStringList &) |
void | slot_timer () |
void | slotDisconnectUser () |
void | slotPopupMenu (Q3ListViewItem *, const QPoint &, int) |
void | slotSendMessage () |
void | slotSendMessageAllUsers () |
void | socketclosed () |
void | socketconnected () |
void | UnreachableHost () |
Private Member Functions | |
void | AnalysisSmbstatus () |
void | CmdAuthRq (const QString &texte) |
void | CmdKillUser (const QString &texte) |
void | CmdSendMsg (const QString &texte) |
void | CmdSmbRq () |
void | core (const QByteArray &rcv_txt) |
void | infoserver (const QString &text) |
void | sendToClient (int cmd, const QString &inputArg1="", const QString &inputArg2="") |
void | sendToServer (int cmd, const QString &inputArg1="", const QString &inputArg2="") |
Private Attributes | |
bool | AuthUser |
if user authenticated | |
Q3ListViewItem * | currentPopupMenuItem |
int | echo |
QTimer * | echo_timer |
QTimer * | echo_timer |
smbstatus * | InstanceSmbstatus |
server * | item_server |
QStringList | ListSmbstatus |
Q3ListView * | listView |
Q3PopupMenu * | menu |
QErrorMessage * | msgError |
PamThread * | pamthread |
QString | passwd_login |
bool | permitDisconnectUser |
if client is authorized to disconnect user | |
bool | permitSendMsg |
if client is authorized to send popup message | |
QSocketNotifier * | sn_exception |
QSocketNotifier * | sn_read |
int | socket |
ClientSSL * | socketclient |
Q3SocketDevice * | socketdevice |
SSL * | ssl |
bool | ssl_connected |
bool | SSL_init |
QTimer * | timer |
QTimer * | timer |
QString | username_login |
Static Private Attributes | |
static int | TimoutTimerEcho = 30000 |
Time between 2 echo request. |
This class dialogs with client. (One object per client).
sock | Socket number | |
parent | pointer to parent for this object |
enum ClientSocket::command [private] |
enum ClientSocket::command [private] |
Protocol between server and client.
ClientSocket::ClientSocket | ( | Q3ListView * | mylistView, | |
QObject * | parent = 0 | |||
) |
mylistView | pointer to listview | |
parent | pointer to parent for this object |
References compteur_objet, debugQt(), echo, echo_timer, listView, menu, msgError, permitDisconnectUser, permitSendMsg, slot_echo_timer(), slotPopupMenu(), and timer.
ClientSocket::~ClientSocket | ( | ) | [virtual] |
References compteur_objet, debugQt(), and msgError.
ClientSocket::ClientSocket | ( | const int & | sock, | |
QObject * | parent = 0 | |||
) |
References AuthUser, compteur_objet, debugQt(), echo, echo_timer, Exception(), pamthread, permitDisconnectUser, permitSendMsg, readClient(), slot_echo_timer(), slot_pam(), sn_exception, sn_read, socket, Socket_print_error(), socketConnectionClose(), socketdevice, ssl, ssl_ctx, SSL_init, SSL_print_error(), timer, and TimoutTimerEcho.
virtual ClientSocket::~ClientSocket | ( | ) | [virtual] |
void ClientSocket::add_lockedfile | ( | const QString & | strPid, | |
const QString & | strName, | |||
const QString & | strMode, | |||
const QString & | strRW, | |||
const QString & | strOplock, | |||
const QString & | strDateOpen | |||
) | [private, slot] |
InstanceSmbstatus has found a file opened (locked file)
strPid | PID | |
strName | File name | |
strMode | Mode | |
strRW | RW | |
strOplock | Oplock | |
strDateOpen | date |
References server::add_lockedfile(), debugQt(), and item_server.
Referenced by AnalysisSmbstatus().
void ClientSocket::add_share | ( | const QString & | strPid, | |
const QString & | strShare, | |||
const QString & | strConnected | |||
) | [private, slot] |
InstanceSmbstatus has found a share
strPid | PID | |
strShare | Share name | |
strConnected | date |
References server::add_share(), debugQt(), item_server, and view_hidden_shares.
Referenced by AnalysisSmbstatus().
void ClientSocket::add_user | ( | const QString & | strPid, | |
const QString & | strUser, | |||
const QString & | strGroup, | |||
const QString & | strMachineName, | |||
const QString & | strMachineIP | |||
) | [private, slot] |
InstanceSmbstatus has found an user
strPid | PID | |
strUser | User name | |
strGroup | Group name | |
strMachineName | Machine name | |
strMachineIP | IP address |
References server::add_user(), debugQt(), and item_server.
Referenced by AnalysisSmbstatus().
void ClientSocket::AnalysisSmbDestroyed | ( | ) | [private, slot] |
InstanceSmbstatus has finished his work
References debugQt(), item_server, ListSmbstatus, and server::refresh_childs().
Referenced by AnalysisSmbstatus().
void ClientSocket::AnalysisSmbstatus | ( | ) | [private] |
Interpret smbstatus reply.
References add_lockedfile(), add_share(), add_user(), AnalysisSmbDestroyed(), debugQt(), InstanceSmbstatus, item_server, ListSmbstatus, server::mark_childs(), smbstatus::RQ_smbstatus(), and setSambaVersion().
Referenced by core().
void ClientSocket::CmdAuthRq | ( | const QString & | texte | ) | [private] |
Authentication Request
texte | arg=1=username, arg2=password |
References AllowUserDisconnect, AllowUserSendMsg, debugQt(), error_auth, pamthread, permitDisconnectUser, permitSendMsg, core_syntax::returnArg(), sendToClient(), PamThread::setAuth(), socketConnectionClose(), and timer.
void ClientSocket::CmdKillUser | ( | const QString & | texte | ) | [private] |
Request from client to disconnect an user
texte | arg1=PID, arg2=username |
References AuthUser, debugQt(), error_auth, error_command, error_obj, ObjError(), permitDisconnectUser, core_syntax::returnArg(), and sendToClient().
void ClientSocket::CmdSendMsg | ( | const QString & | texte | ) | [private] |
Request from client to send popup message
texte | arg1=machine, arg2=message to be sent |
References AuthUser, debugQt(), error_auth, error_command, error_obj, ObjError(), permitSendMsg, core_syntax::returnArg(), send_msg, and sendToClient().
void ClientSocket::CmdSmbRq | ( | ) | [private] |
Run Smbstatus request
References AuthUser, debugQt(), error_auth, ObjError(), sendToClient(), and slot_smbstatus().
void ClientSocket::connectionToServer | ( | const QString & | username, | |
const QString & | passwd | |||
) |
Connect to server
username | username (a valid login on server) | |
passwd | password (a valid password on server) |
References ClientSSL::Connect(), core(), debugQt(), host, passwd_login, port_server, SignalShortMessage(), socketclient, socketclosed(), socketconnected(), UnreachableHost(), and username_login.
Referenced by main_windows::open_dialog_for_login().
void ClientSocket::core | ( | const QByteArray & | rcv_txt | ) | [private] |
void ClientSocket::core | ( | const QByteArray & | rcv_txt | ) | [private, slot] |
Protocol interpreter. analyze the server's answers.
rcv_txt | data sent by server |
rcv_txt | data sent by client |
References AnalysisSmbstatus(), auth_ack, ClientSSL::closeConnection(), debugQt(), echo, echo_reply, echo_request, echo_timer, end, end_smb_rq, error_auth, error_command, error_obj, infoserver(), ListSmbstatus, msgError, core_syntax::returnArg(), sendToServer(), server_info, core_syntax::setValue(), SignalErrorAuth(), slot_timer(), smb_data, socketclient, and TimoutTimerEcho.
Referenced by connectionToServer(), and readClient().
void ClientSocket::Disconnect | ( | ) |
Close TCP connection
References ClientSSL::closeConnection(), end, sendToServer(), and socketclient.
Referenced by main_windows::closeEvent(), and main_windows::Slot_connect().
void ClientSocket::Exception | ( | ) | [private, slot] |
There is a TCP error
References debugQt(), Socket_print_error(), socketConnectionClose(), and socketdevice.
Referenced by ClientSocket().
void ClientSocket::InfoMachine | ( | ) | [private, slot] |
View machine informations
References currentPopupMenuItem, item_server, Q3ListViewItemList, and server::ViewInfoMachine().
Referenced by slotPopupMenu().
void ClientSocket::infoserver | ( | const QString & | text | ) | [private] |
Receive informations from server (right for current client)
text | client's right: 0000 0001 : permit client to disconnect an user 0000 0010 : permit client to send popup messages (popupwindows) |
References debugQt(), permitDisconnectUser, and permitSendMsg.
Referenced by core(), and slot_pam().
void ClientSocket::InfoServer | ( | ) | [private, slot] |
View samba version
References currentPopupMenuItem, item_server, Q3ListViewItemList, and server::ViewInfoServer().
Referenced by slotPopupMenu().
void ClientSocket::InfoService | ( | ) | [private, slot] |
View service informations (locked file or share)
References currentPopupMenuItem, item_server, Q3ListViewItemList, and server::ViewInfoService().
Referenced by slotPopupMenu().
void ClientSocket::InfoUser | ( | ) | [private, slot] |
View user informations
References currentPopupMenuItem, item_server, Q3ListViewItemList, and server::ViewInfoUser().
Referenced by slotPopupMenu().
void ClientSocket::ObjError | ( | const QString & | error_txt | ) | [private, slot] |
Slot : receive objects errors and send it to client.
error_txt | error to be sent |
References debugQt(), error_obj, and sendToClient().
Referenced by CmdKillUser(), CmdSendMsg(), and CmdSmbRq().
void ClientSocket::readClient | ( | ) | [private, slot] |
Receive datas from client
References AuthUser, core(), debugQt(), echo, echo_timer, socketConnectionClose(), socketdevice, ssl, SSL_init, SSL_print_error(), and TimoutTimerEcho.
Referenced by ClientSocket().
void ClientSocket::sendToClient | ( | int | cmd, | |
const QString & | inputArg1 = "" , |
|||
const QString & | inputArg2 = "" | |||
) | [private] |
Send datas to client
cmd | command |
References addEscapeKeys(), debugQt(), socketConnectionClose(), ssl, SSL_init, and SSL_print_error().
Referenced by CmdAuthRq(), CmdKillUser(), CmdSendMsg(), CmdSmbRq(), ObjError(), slot_pam(), and slot_smbstatus().
void ClientSocket::sendToServer | ( | int | cmd, | |
const QString & | inputArg1 = "" , |
|||
const QString & | inputArg2 = "" | |||
) | [private] |
Send data to server.
cmd | command |
References addEscapeKeys(), debugQt(), ClientSSL::sendToServer(), socketclient, and ssl_connected.
Referenced by core(), Disconnect(), slot_echo_timer(), slot_timer(), slotDisconnectUser(), slotSendMessage(), slotSendMessageAllUsers(), and socketconnected().
void ClientSocket::setSambaVersion | ( | const QString & | version_samba | ) | [private, slot] |
InstanceSmbstatus sends samba version.
version_samba | samba version |
References debugQt(), item_server, and server::setSambaVersion().
Referenced by AnalysisSmbstatus().
void ClientSocket::SignalClosed | ( | ) | [signal] |
void ClientSocket::SignalConnected | ( | ) | [signal] |
void ClientSocket::SignalErrorAuth | ( | ) | [signal] |
void ClientSocket::SignalShortMessage | ( | const QString & | _t1 | ) | [signal] |
void ClientSocket::slot_echo_timer | ( | ) | [private, slot] |
void ClientSocket::slot_echo_timer | ( | ) | [private, slot] |
Timer ending (echo), sends a new echo request. After 3 failures, disconnect.
References ClientSSL::closeConnection(), debugQt(), echo, echo_request, sendToServer(), socketclient, and ssl_connected.
Referenced by ClientSocket().
void ClientSocket::slot_pam | ( | ) | [private, slot] |
test if pamthread has terminated
References auth_ack, PamThread::auth_resu, AuthUser, debugQt(), error_auth, infoserver(), pamthread, permitDisconnectUser, permitSendMsg, sendToClient(), server_info, socketConnectionClose(), and timer.
Referenced by ClientSocket().
void ClientSocket::slot_smbstatus | ( | const QStringList & | rcv_smb | ) | [private, slot] |
Slot : Receive smbstatus reply.
References debugQt(), end_smb_rq, sendToClient(), and smb_data.
Referenced by CmdSmbRq().
void ClientSocket::slot_timer | ( | ) | [private, slot] |
void ClientSocket::slotDisconnectUser | ( | ) | [private, slot] |
Disconnect an user
References currentPopupMenuItem, kill_user, user::pid, Q3ListViewItemList, sendToServer(), ssl_connected, and user::username.
Referenced by slotPopupMenu().
void ClientSocket::slotPopupMenu | ( | Q3ListViewItem * | Item, | |
const QPoint & | point, | |||
int | ||||
) | [private, slot] |
popup menu
References currentPopupMenuItem, InfoMachine(), InfoServer(), InfoService(), InfoUser(), item_server, machine::machine_name, menu, permitDisconnectUser, permitSendMsg, slotDisconnectUser(), slotSendMessage(), slotSendMessageAllUsers(), ssl_connected, and user::username.
Referenced by ClientSocket().
void ClientSocket::slotSendMessage | ( | ) | [private, slot] |
send out messages (popupwindows) to one user
References currentPopupMenuItem, machine::machine_name, Q3ListViewItemList, send_msg, sendToServer(), and ssl_connected.
Referenced by slotPopupMenu().
void ClientSocket::slotSendMessageAllUsers | ( | ) | [private, slot] |
send out messages (popupwindows) to all users
References item_server, machine::machine_name, send_msg, sendToServer(), and ssl_connected.
Referenced by slotPopupMenu().
void ClientSocket::socketclosed | ( | ) | [private, slot] |
Slot connection is closed
References debugQt(), echo_timer, ListSmbstatus, listView, menu, SignalClosed(), ssl_connected, and timer.
Referenced by connectionToServer().
void ClientSocket::socketconnected | ( | ) | [private, slot] |
SLot connection is OK
References auth_rq, debugQt(), echo, echo_timer, item_server, listView, passwd_login, sendToServer(), SignalConnected(), ssl_connected, TimoutTimerEcho, and username_login.
Referenced by connectionToServer().
void ClientSocket::socketConnectionClose | ( | ) | [slot] |
Close connection.
References debugQt(), socketdevice, ssl, and SSL_init.
Referenced by ClientSocket(), CmdAuthRq(), Exception(), readClient(), sendToClient(), and slot_pam().
void ClientSocket::UnreachableHost | ( | ) | [private, slot] |
bool ClientSocket::AuthUser [private] |
if user authenticated
Referenced by ClientSocket(), CmdKillUser(), CmdSendMsg(), CmdSmbRq(), readClient(), and slot_pam().
static int ClientSocket::compteur_objet = 0 [static] |
Referenced by ClientSocket(), main(), and ~ClientSocket().
Q3ListViewItem* ClientSocket::currentPopupMenuItem [private] |
Referenced by InfoMachine(), InfoServer(), InfoService(), InfoUser(), slotDisconnectUser(), slotPopupMenu(), and slotSendMessage().
int ClientSocket::echo [private] |
Referenced by ClientSocket(), core(), readClient(), slot_echo_timer(), and socketconnected().
QTimer* ClientSocket::echo_timer [private] |
QTimer* ClientSocket::echo_timer [private] |
Referenced by ClientSocket(), core(), readClient(), socketclosed(), and socketconnected().
smbstatus* ClientSocket::InstanceSmbstatus [private] |
Referenced by AnalysisSmbstatus().
server* ClientSocket::item_server [private] |
QStringList ClientSocket::ListSmbstatus [private] |
Referenced by AnalysisSmbDestroyed(), AnalysisSmbstatus(), core(), and socketclosed().
Q3ListView* ClientSocket::listView [private] |
Referenced by ClientSocket(), socketclosed(), and socketconnected().
Q3PopupMenu* ClientSocket::menu [private] |
Referenced by ClientSocket(), slotPopupMenu(), and socketclosed().
QErrorMessage* ClientSocket::msgError [private] |
Referenced by ClientSocket(), core(), and ~ClientSocket().
PamThread* ClientSocket::pamthread [private] |
Referenced by ClientSocket(), CmdAuthRq(), and slot_pam().
QString ClientSocket::passwd_login [private] |
Referenced by connectionToServer(), and socketconnected().
bool ClientSocket::permitDisconnectUser [private] |
if client is authorized to disconnect user
Referenced by ClientSocket(), CmdAuthRq(), CmdKillUser(), infoserver(), slot_pam(), and slotPopupMenu().
bool ClientSocket::permitSendMsg [private] |
if client is authorized to send popup message
Referenced by ClientSocket(), CmdAuthRq(), CmdSendMsg(), infoserver(), slot_pam(), and slotPopupMenu().
QSocketNotifier* ClientSocket::sn_exception [private] |
Referenced by ClientSocket().
QSocketNotifier* ClientSocket::sn_read [private] |
Referenced by ClientSocket().
int ClientSocket::socket [private] |
Referenced by ClientSocket().
ClientSSL* ClientSocket::socketclient [private] |
Referenced by connectionToServer(), core(), Disconnect(), sendToServer(), and slot_echo_timer().
Q3SocketDevice* ClientSocket::socketdevice [private] |
Referenced by ClientSocket(), Exception(), readClient(), and socketConnectionClose().
SSL* ClientSocket::ssl [private] |
Referenced by ClientSocket(), readClient(), sendToClient(), and socketConnectionClose().
bool ClientSocket::ssl_connected [private] |
bool ClientSocket::SSL_init [private] |
Referenced by ClientSocket(), readClient(), sendToClient(), and socketConnectionClose().
QTimer* ClientSocket::timer [private] |
QTimer* ClientSocket::timer [private] |
Referenced by ClientSocket(), CmdAuthRq(), slot_pam(), slot_timer(), and socketclosed().
static int ClientSocket::TimoutTimerEcho = 30000 [static, private] |
Time between 2 echo request.
Referenced by ClientSocket(), core(), readClient(), and socketconnected().
QString ClientSocket::username_login [private] |
Referenced by connectionToServer(), and socketconnected().