termux-packages/packages/megacmd/fix-hardcoded-paths.patch

88 lines
3.5 KiB
Diff

--- a/sdk/src/posix/fs.cpp
+++ b/sdk/src/posix/fs.cpp
@@ -1787,10 +1787,10 @@
uuid_unparse(uuid, uuid_str);
id->append(uuid_str);
#else
- int fd = open("/etc/machine-id", O_RDONLY);
+ int fd = open("@TERMUX_PREFIX@/etc/machine-id", O_RDONLY);
if (fd < 0)
{
- fd = open("/var/lib/dbus/machine-id", O_RDONLY);
+ fd = open("@TERMUX_PREFIX@/var/lib/dbus/machine-id", O_RDONLY);
if (fd < 0)
{
return;
--- a/src/comunicationsmanagerfilesockets.cpp
+++ b/src/comunicationsmanagerfilesockets.cpp
@@ -42,8 +42,8 @@
int ComunicationsManagerFileSockets::initialize()
{
MegaFileSystemAccess *fsAccess = new MegaFileSystemAccess();
- char csocketsFolder[34]; // enough to hold all numbers up to 64-bits
- sprintf(csocketsFolder, "/tmp/megaCMD_%d", getuid());
+ char csocketsFolder[] = "@TERMUX_PREFIX@/tmp/megaCMD_XXXXXXXXXXXXXXXXXXXX"; // enough to hold all numbers up to 64-bits
+ sprintf(csocketsFolder, "@TERMUX_PREFIX@/tmp/megaCMD_%d", getuid());
LocalPath socketsFolder = LocalPath::fromPlatformEncodedAbsolute(csocketsFolder);
fsAccess->setdefaultfolderpermissions(0700);
@@ -169,9 +169,9 @@ int ComunicationsManagerFileSockets::ini
memset(&addr, 0, sizeof( addr ));
addr.sun_family = AF_UNIX;
- char socketPath[60];
+ char socketPath[] = "@TERMUX_PREFIX@/tmp/megaCMD_XXXXXXXXXXXXXXXXXXXX/srv";
bzero(socketPath, sizeof( socketPath ) * sizeof( *socketPath ));
- sprintf(socketPath, "/tmp/megaCMD_%d/srv", getuid());
+ sprintf(socketPath, "@TERMUX_PREFIX@/tmp/megaCMD_%d/srv", getuid());
strncpy(addr.sun_path, socketPath, sizeof( addr.sun_path ) - 1);
@@ -236,7 +236,7 @@ void ComunicationsManagerFileSockets::st
{ //shutdown failed. we need to send something to the blocked thread so as to wake up from select
int clientsocket = socket(AF_UNIX, SOCK_STREAM, 0);
- char socket_path[60];
+ char socket_path[] = "@TERMUX_PREFIX@/tmp/megaCMD_XXXXXXXXXXXXXXXXXXXX/srv";
if (clientsocket < 0 )
{
LOG_err << "ERROR opening client socket to exit select: " << errno;
@@ -250,7 +250,7 @@ void ComunicationsManagerFileSockets::st
}
bzero(socket_path, sizeof( socket_path ) * sizeof( *socket_path ));
{
- sprintf(socket_path, "/tmp/megaCMD_%d/srv", getuid() );
+ sprintf(socket_path, "@TERMUX_PREFIX@/tmp/megaCMD_%d/srv", getuid() );
}
struct sockaddr_un addr;
--- a/src/megacmdshell/megacmdshellcommunications.cpp
+++ b/src/megacmdshell/megacmdshellcommunications.cpp
@@ -137,7 +137,7 @@ string createAndRetrieveConfigFolder()
if (( getpwuid_r(22, pwdptr, pwdbuffer, pwdlinelen, &tempPwdPtr)) != 0)
{
cerr << "Couldnt get HOME folder" << endl;
- return "/tmp";
+ return "@TERMUX_PREFIX@/tmp";
}
else
{
@@ -296,7 +296,7 @@
else
{
SOCKET thesock = socket(AF_UNIX, SOCK_STREAM, 0);
- char socket_path[60];
+ char socket_path[] = "@TERMUX_PREFIX@/tmp/megaCMD_XXXXXXXXXXXXXXXXXXXX/srv";
if (!socketValid(thesock))
{
cerr << "ERROR opening socket: " << ERRNO << endl;
@@ -308,7 +308,7 @@
}
bzero(socket_path, sizeof( socket_path ) * sizeof( *socket_path ));
- sprintf(socket_path, "/tmp/megaCMD_%d/srv", getuid() );
+ sprintf(socket_path, "@TERMUX_PREFIX@/tmp/megaCMD_%d/srv", getuid() );
struct sockaddr_un addr;