Warning: session_start(): open(/var/lib/php/sessions/sess_lj2qbrei1cg2pj2hn2v74hg7iv, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
//FILENAME: gazelleModules/GazelleSCP.java
package gazelleModules;
import java.util.*;
import java.util.zip.*;
import java.util.List;
import java.util.regex.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.locks.*;
import java.util.function.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
import java.lang.ref.*;
import java.lang.management.*;
import java.security.*;
import java.security.spec.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import javax.imageio.*;
import java.math.*;
import static loadableUtils.utils.l;
import loadableUtils.utils;
import static loadableUtils.utils.DynamicObject_loading;
import static loadableUtils.utils.rethrow;
import static loadableUtils.utils.add;
import static loadableUtils.utils._onJavaXSet;
import static loadableUtils.utils.a;
import static loadableUtils.utils.addAndReturn;
import static loadableUtils.utils.assertNotNull;
import static loadableUtils.utils.eq;
import static loadableUtils.utils.javaxSecretDir;
import static loadableUtils.utils.listDirs;
import static loadableUtils.utils.loadTextFile;
import static loadableUtils.utils.lock;
import static loadableUtils.utils.printStackTrace;
import static loadableUtils.utils.swing;
import static loadableUtils.utils.trim;
import static loadableUtils.utils.unlock;
import static loadableUtils.utils.scp;
import static loadableUtils.utils.zip;
import net.schmizz.sshj.sftp.RemoteResourceInfo;
import net.schmizz.sshj.SSHClient;
import net.schmizz.sshj.transport.verification.PromiscuousVerifier;
public class GazelleSCP {
static public String programID;
static public void _onLoad_initUtils() {
utils.__javax = javax();
}
static public ThreadLocal dynamicObjectIsLoading_threadLocal() {
return DynamicObject_loading;
}
static public List scpLS(String user, String host, String remoteDir) {
try {
final SSHClient client = sshLogin(user, host);
try {
return client.newSFTPClient().ls(remoteDir);
} finally {
sshDisconnect(client);
}
} catch (Exception __e) {
throw rethrow(__e);
}
}
static public Class javax() {
return getJavaX();
}
static public boolean sshLogin_keepOpen = false;
static public String sshLogin_openUser;
static public String sshLogin_openHost;
static public SSHClient sshLogin_client;
static public Lock sshLogin_lock = lock();
static public SSHClient sshLogin(String user, String host) {
try {
{
Lock __0 = sshLogin_lock;
lock(__0);
try {
if (sshLogin_client != null && eq(sshLogin_openUser, user) && eq(sshLogin_openHost, host))
return sshLogin_client;
} finally {
unlock(__0);
}
}
String pass = findSSHPassword(user, host);
final SSHClient client = new SSHClient();
client.addHostKeyVerifier(new PromiscuousVerifier());
client.connect(host);
try {
client.authPassword(user, pass);
} catch (Throwable e) {
client.disconnect();
rethrow(e);
}
Lock __1 = sshLogin_lock;
lock(__1);
try {
if (sshLogin_keepOpen && sshLogin_client == null) {
sshLogin_openUser = user;
sshLogin_openHost = host;
sshLogin_client = client;
}
return client;
} finally {
unlock(__1);
}
} catch (Exception __e) {
throw rethrow(__e);
}
}
static public void cleanMeUp_sshLogin() {
Lock __2 = sshLogin_lock;
lock(__2);
try {
if (sshLogin_client != null) {
try {
sshLogin_client.disconnect();
} catch (Throwable __e) {
printStackTrace(__e);
}
sshLogin_client = null;
}
} finally {
unlock(__2);
}
}
static public void sshDisconnect(SSHClient client) {
try {
if (client == null)
return;
{
Lock __0 = sshLogin_lock;
lock(__0);
try {
if (client == sshLogin_client)
return;
} finally {
unlock(__0);
}
}
client.disconnect();
} catch (Exception __e) {
throw rethrow(__e);
}
}
static public Class __javax;
static public Class getJavaX() {
try {
return __javax;
} catch (Exception __e) {
throw rethrow(__e);
}
}
static public void __setJavaX(Class j) {
__javax = j;
_onJavaXSet();
}
static public String findSSHPassword(String user, String server) {
return trim(loadTextFile(orFail("SSH password for " + user + "@" + server + " not found on this machine (make a file called " + sshPasswordFileName(user, server) + " somewhere under " + javaxSecretDir() + ")", findSSHPasswordFile(user, server))));
}
static public A orFail(String failMsg, A a) {
return assertNotNull(failMsg, a);
}
static public String sshPasswordFileName(String user, String server) {
return user + "@" + server + ".ssh.pass";
}
static public File findSSHPasswordFile(String user, String server) {
return findSecretFile(sshPasswordFileName(user, server));
}
static public File findSecretFile(String name) {
List l = new ArrayList();
for (File dir : allSecretDirs()) {
File f = new File(dir, name);
if (f.exists())
return f;
}
return null;
}
static public List allSecretDirs() {
List l = new ArrayList();
for (File dir : listDirs(addAndReturn(l, javaxSecretDir()))) l.add(dir);
return l;
}
}