5 import java.rmi.registry.LocateRegistry;
6 import java.rmi.registry.Registry;
7 import java.rmi.server.UnicastRemoteObject;
8 import java.util.ArrayList;
49 String id_client = ((ArrayList)u.get(0)).
get(0).toString();
51 p2pgui.
ServerFrame.
IDB.delFileListBy(null, null, null, id_client, null, null, null, null, null, null);
62 public boolean serverOn()throws java.rmi.RemoteException{
78 public boolean clientAlive(String usr, String pswd)
throws java.rmi.RemoteException{
99 @SuppressWarnings(
"static-access")
100 public String
getAccessStringDelete(String usr, String pswd, String owner_file, String id_file)throws java.rmi.RemoteException{
101 if(!
isReg(usr,pswd)){
111 if(i.size()==1 && l.size()==1){
112 ArrayList ll = (ArrayList) l.get(0);
113 ArrayList ii = (ArrayList) i.get(0);
115 int state = Integer.parseInt(ll.get(8).toString());
116 int file_right = Integer.parseInt(ll.get(7).toString());
132 String ip_owner = ii.get(1).toString();
133 String pswd_owner = ii.get(3).toString();
134 String user_owner = ii.get(2).toString();
136 access = pswd + pswd_owner + id_file;
138 access = ip_owner +
";" + v;
143 TRA.
k = usr + id_file;
146 TRA.
funct =
"addAuthUser";
150 Thread t =
new Thread(TRA);
169 @SuppressWarnings(
"static-access")
170 public String
getAccessStringRead(String usr, String pswd, String owner_file, String id_file)throws java.rmi.RemoteException{
171 if(!
isReg(usr,pswd)){
177 String ip_owner =
"";
178 String user_owner =
"";
179 String pswd_owner=
"";
185 if(i.size()==1 && l.size()==1){
186 ArrayList ll = (ArrayList) l.get(0);
187 ArrayList ii = (ArrayList) i.get(0);
189 int state = Integer.parseInt(ll.get(8).toString());
190 int file_right = Integer.parseInt(ll.get(7).toString());
201 ip_owner = ii.get(1).toString();
202 pswd_owner = ii.get(3).toString();
204 user_owner = ii.get(2).toString();
206 access = pswd + pswd_owner + id_file;
208 access = ip_owner +
";" + v;
214 TRA.
k = usr + id_file;
216 TRA.
funct =
"addAuthUser";
220 Thread t =
new Thread(TRA);
239 @SuppressWarnings(
"static-access")
240 public String
getAccessStringUpload(String usr, String pswd, String id_client2, String id_file)throws java.rmi.RemoteException{
241 if(!
isReg(usr,pswd)){
247 String ip_client2 =
"";
248 String user_client2 =
"";
249 String pswd_client2=
"";
257 ArrayList ii = (ArrayList) i.get(0);
259 ip_client2 = ii.get(1).toString();
260 pswd_client2 = ii.get(3).toString();
261 user_client2 = ii.get(2).toString();
263 access = pswd + pswd_client2 + id_file;
272 TRA.
funct =
"addAuthUser";
276 Thread t =
new Thread(TRA);
291 public ArrayList
getList(String usr, String pswd, String where)
throws java.rmi.RemoteException{
292 if(!
isReg(usr,pswd)){
300 catch(Exception xe){
return null;}
312 public ArrayList
getUserList(String usr, String pswd, String where)
throws java.rmi.RemoteException{
313 if(!
isReg(usr,pswd)){
338 public boolean removeFile(String usr, String pswd, String name, String path,
int state)
throws java.rmi.RemoteException{
339 if(!
isReg(usr,pswd)){
345 return p2pgui.
ServerFrame.
IDB.delFileListBy(null, name, path, null, null, null, null, null,
""+stato , null);
357 public boolean sendList(String usr, String pswd, ArrayList list)
throws java.rmi.RemoteException{
358 if(!
isReg(usr,pswd)){
366 for(
int i=0; i<list.size(); i++){
367 ((ArrayList) list.get(i)).
remove(0);
368 ((ArrayList) list.get(i)).add(0, next+i);
383 @SuppressWarnings(
"static-access")
394 ip = obj.getClientHost();
397 ArrayList tmp2 =
new ArrayList();
398 ArrayList tmp1 =
new ArrayList();
416 ArrayList idd = (ArrayList)
id.
get(0);
417 id_user = Integer.parseInt(idd.get(0).toString());
428 public static void main(String[] args) {
437 registry = LocateRegistry.getRegistry();
439 registry.rebind(
"ServerRMI",obj);
440 Naming.rebind(
"ServerRMI", obj);
444 }
catch (Exception e) {
456 private boolean isReg(String u, String p){
462 if(((ArrayList)l.get(0)).
get(3).toString().compareTo(p)==0)
static p2pserver.InquireDB IDB
Classe che permette la configurazione di tutto il programma in base alle specifiche esigenze dell'ute...
Classe che implementa metodi vari di utilita' generale.
boolean sendList(String usr, String pswd, ArrayList list)
Invia una lista di file al DBMS del server.
Classe che implementa il servizio Server.
String getAccessStringDelete(String usr, String pswd, String owner_file, String id_file)
Costruisce la stringa di autenticazione che permette ad un client registrato di cancellare un file (s...
String getAccessStringRead(String usr, String pswd, String owner_file, String id_file)
Costruisce la stringa di autenticazione che permette ad un client registrato di scaricare un file (se...
Classe che richiede una connessione RMI per la funzione addAuthUser.
static void main(String[] args)
Main.
String getAccessStringUpload(String usr, String pswd, String id_client2, String id_file)
Costruisce la stringa di autenticazione che permette ad un client registrato di inviare un file (se i...
boolean removeFile(String usr, String pswd, String name, String path, int state)
Cancella i file presenti sul DBMS del server, in base alla clausola WHERE specificabile in input...
int registerToServer(String usr, String pswd)
Inserisce un utente autorizzato (si veda p2putility.Util.login) nella lista utenti del DBMS del serve...
void disconnectClient(String usr, String pswd)
Disconnette un client dal server cancellandolo dal DBMS.
static int r_rmiregport()
Permette la lettura della varibile relativa in modo sicuro.
ArrayList getUserList(String usr, String pswd, String where)
Restituisce la lista degli utenti presenti sul DBMS del server, in base alla clausola WHERE specifica...
static String user_to_connect
boolean serverOn()
Ritorna true se il server e' attivo.
boolean isReg(String u, String p)
Funzione privata che verifica se un utente e' registrato nel DBMS del server.
ArrayList getList(String usr, String pswd, String where)
Restituisce la lista dei file presenti sul DBMS del server, in base alla clausola WHERE specificabile...
static String hash_sha(String text)
Converte una stringa nel corrispondente HASH SHA-1 in forma esadecimale.
static boolean r_clientOpen()
Permette la lettura della varibile relativa in modo sicuro.
static String pswd_to_connect
boolean clientAlive(String usr, String pswd)
Verifica se il client e' connesso al server, cioe' se e' presente nel DBMS.
static boolean login(String u, String p)
Verifica se un utente fa parte della lista di utenti registrati (Il programma P2PFileSystem non si oc...
static void logServer(String data)
Scrive i dati in input sul file di log del Server (se questo esiste valido)
Classe implementata a Thread che permette di lanciare un processo di ClientRmiAuthorization autonomo...