add warning patches
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
AUX client_sleep.patch 1257 BLAKE2B eacf2dad1b2921998c1cc855684067b5f2899b63a4ccf67685bdcdaf033ac3e3769d3063cd4f35cc18026bb7c0c12ad78627a4e10275a4a89ca050752aa7e08a SHA512 e2621475564e35c15249e67e6ade422f909349e540ba0e8255540167e1630e655023edf79fd419ceb740b0555ce9fe2cafd7dc0d2586ec602fb4ea64d19dd6c6
|
||||
AUX client_warnings.patch 10028 BLAKE2B 7a96ab554ff4356818b7a6e2b1566d8f0af55162f622b0d72ff460c0c3a2cfc3a3775a4920e5017fc589b79fc49d8767b3b280de2db1b613dfe69863ffbfa66c SHA512 fa9267f2549c22155a9191ab747d7ebe116c4979160d23a420a89f7ca8f7ad63e883f7d2fa0b7bc15037dfe8f7e217cbeff5496224593e1588403350eca1ebcb
|
||||
DIST irclient-src-6.01.16.tar.gz 153254 BLAKE2B ec4880699ff3bef0419f52b2df381e2f0f1b1202f3358648486400540fe420f0012cb78e38ac429791ea39d40e9b59a63ede9b7777957c69c2c30f1512468035 SHA512 904451e03e9a508aa78954a9dd8d34462b5c47937ea127f1ff1ec52f07f645f60861f055347dba178b9c37455a5d749d987144f3be882bcb24e479f02643eaea
|
||||
DIST irtrans-irclient-5.11.04-ip_assign-1.patch.bz2 5051 BLAKE2B 79b8fb9249c69e8a868771a288e5f0e7c4d6658d36f97ce1ac0c577dae5c810207780406bb7a87df3392eb795463b9c62c6ce7d99ef349111db99637ee8d2432 SHA512 9be72f7f6fcc24c9bda73cf5dd8a2c112c6cb82e2ef50d40c17b43d7dcb8f11bcf8bc0ebb914046b5429bce1b4936278ade936db6c916384fbd637a300f528cf
|
||||
EBUILD irtrans-irclient-6.01.16.ebuild 1431 BLAKE2B 1b31d1b4835842fed8271b91c845cdbb02f636edad55a85a6a9d58e0f8aee500929953e8ff7f96e51c297037dde935045429d280d4c58608dafd0000cdf05fc5 SHA512 7f34aac5726f16589bb29110f806f858a3dd4251c6a9d1c6c5f11db0e8eb1ae243a1db5124289001b8ce102f2699325d8184ef4d91498b784d90e62044b29197
|
||||
EBUILD irtrans-irclient-6.01.16.ebuild 1471 BLAKE2B c352b18fb23e0e8da9737b4a82d4ea9325c5238dfdb098ec5017731adfa574121d8f246962eb449ca5e37045d9d4d1e1ca4c24d049e6d2aea5171a3045f65929 SHA512 64b4bba32891b8ddd491c28462b30de5724c61e6624e7c44f82f68f435026ea3c13c0b211a831fe66b6c5173c582188fa1631e14051640dd13b5ea6d563e004d
|
||||
MISC ChangeLog 3910 BLAKE2B 0949a89d568c6b2a49a6e7c279f5034ed97a7b146b84abbd82acc9c3c27d3331c9c7d2583bfe1de1df0e892d21a1978958a3c96203ed7285820203184ba284a8 SHA512 768fffb886d2f69154da005675e4741880de4a33fc58364f7b10fa89bf2360930c641d672db261a7b9916b02e2c8bef297ff6c0c3d28908f57ef0a5a70b55a3e
|
||||
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c
|
||||
|
||||
390
app-misc/irtrans-irclient/files/client_warnings.patch
Normal file
390
app-misc/irtrans-irclient/files/client_warnings.patch
Normal file
@@ -0,0 +1,390 @@
|
||||
diff '--color=auto' -uNr work.orig/client.c work/client.c
|
||||
--- work.orig/client.c 2026-04-07 19:20:30.733614568 +0200
|
||||
+++ work/client.c 2026-04-07 19:35:35.503638919 +0200
|
||||
@@ -95,6 +95,32 @@
|
||||
|
||||
#define VERSION "6.01.16"
|
||||
|
||||
+static int read_string(char *buf, size_t len)
|
||||
+{
|
||||
+ if (scanf("%254s", buf) != 1) {
|
||||
+ if (len) buf[0] = 0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static int read_int(int *value)
|
||||
+{
|
||||
+ if (scanf("%d", value) != 1) {
|
||||
+ *value = 0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static int read_line(char *buf, size_t len)
|
||||
+{
|
||||
+ if (!fgets(buf, len, stdin)) {
|
||||
+ if (len) buf[0] = 0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
|
||||
int main (int argc,char *argv[])
|
||||
{
|
||||
@@ -585,7 +611,7 @@
|
||||
NETWORKSTATUS stat;
|
||||
|
||||
BuildSendMenu ();
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -593,40 +619,40 @@
|
||||
case 1:
|
||||
printf ("\nEnter Remote Name: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",send_remote);
|
||||
+ read_string(send_remote, sizeof(send_remote));
|
||||
getchar ();
|
||||
break;
|
||||
case 2:
|
||||
printf ("\nCommand Name: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
NetworkCommand (COMMAND_SEND,send_remote,st,0,0,&stat);
|
||||
break;
|
||||
case 3:
|
||||
printf ("\nLCD Text: ");
|
||||
fflush (stdout);
|
||||
- fgets (st,sizeof (st),stdin);
|
||||
+ read_line(st, sizeof(st));
|
||||
NetworkCommand (COMMAND_LCD,st,0,LCD_TEXT | LCD_BACKLIGHT,'L',&stat);
|
||||
break;
|
||||
case 4:
|
||||
printf ("\nLCD Init Text Line 1: ");
|
||||
fflush (stdout);
|
||||
- fgets (st,sizeof (st),stdin);
|
||||
+ read_line(st, sizeof(st));
|
||||
printf ("\nLCD Init Text Line 2: ");
|
||||
fflush (stdout);
|
||||
- fgets (l2,sizeof (l2),stdin);
|
||||
+ read_line(l2, sizeof(l2));
|
||||
strcat (st,l2);
|
||||
NetworkCommand (COMMAND_LCDINIT,st,0,LCD_TEXT,'L',&stat);
|
||||
break;
|
||||
case 5:
|
||||
printf ("\nSwitch Number: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%d",&sw);
|
||||
+ read_int(&sw);
|
||||
getchar ();
|
||||
printf ("\nSwitch Value: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%d",&md);
|
||||
+ read_int(&md);
|
||||
getchar ();
|
||||
st[0] = sw;
|
||||
st[1] = md;
|
||||
@@ -647,7 +673,7 @@
|
||||
NETWORKSTATUS stat;
|
||||
|
||||
BuildLearnMenu ();
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -656,7 +682,7 @@
|
||||
if (*learn_remote) NetworkCommand (COMMAND_CLOSE,learn_remote,st,0,'L',&stat);
|
||||
printf ("\nEnter Remote Name: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",learn_remote);
|
||||
+ if (scanf("%99s", learn_remote) != 1) learn_remote[0] = 0;
|
||||
getchar ();
|
||||
NetworkCommand (COMMAND_LRNREM,learn_remote,st,0,'L',&stat);
|
||||
break;
|
||||
@@ -670,7 +696,7 @@
|
||||
case 3:
|
||||
printf ("\nCommand Name: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
printf ("\nPress Remote Button to learn ....");
|
||||
fflush (stdout);
|
||||
@@ -681,7 +707,7 @@
|
||||
case 4:
|
||||
printf ("\nCommand Name: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
printf ("\nPress Remote Button to learn ....");
|
||||
fflush (stdout);
|
||||
@@ -692,7 +718,7 @@
|
||||
case 5:
|
||||
printf ("\nCommand Name: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
printf ("\nPress Remote Button to learn ....");
|
||||
fflush (stdout);
|
||||
@@ -1108,7 +1134,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1161,7 +1187,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1213,7 +1239,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1233,7 +1259,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1285,7 +1311,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1307,7 +1333,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1350,7 +1376,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1390,7 +1416,7 @@
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1404,7 +1430,7 @@
|
||||
char st[255];
|
||||
int choice,sel;
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1508,7 +1534,7 @@
|
||||
printf ("\n\nEnter PowerOn Remote: ");
|
||||
fflush (stdout);
|
||||
memset (st,0,255);
|
||||
- fgets (st,255,stdin);
|
||||
+ if (!fgets(st, 255, stdin)) st[0] = 0;
|
||||
while (st[strlen (st) - 1] == 10 || st[strlen (st) - 1] == 13) st[strlen (st) - 1] = 0;
|
||||
memcpy (status->stat[bus][adr].remote,st,80);
|
||||
|
||||
@@ -1517,7 +1543,7 @@
|
||||
printf ("\n\nEnter PowerOn Command: ");
|
||||
fflush (stdout);
|
||||
memset (st,0,255);
|
||||
- fgets (st,255,stdin);
|
||||
+ if (!fgets(st, 255, stdin)) st[0] = 0;
|
||||
while (st[strlen (st) - 1] == 10 || st[strlen (st) - 1] == 13) st[strlen (st) - 1] = 0;
|
||||
memcpy (status->stat[bus][adr].command,st,20);
|
||||
|
||||
@@ -1526,7 +1552,7 @@
|
||||
printf ("\n\nEnter PowerOff Remote: ");
|
||||
fflush (stdout);
|
||||
memset (st,0,255);
|
||||
- fgets (st,255,stdin);
|
||||
+ if (!fgets(st, 255, stdin)) st[0] = 0;
|
||||
while (st[strlen (st) - 1] == 10 || st[strlen (st) - 1] == 13) st[strlen (st) - 1] = 0;
|
||||
memcpy (status->stat[bus][adr].remote2,st,80);
|
||||
|
||||
@@ -1535,7 +1561,7 @@
|
||||
printf ("\n\nEnter PowerOff Command: ");
|
||||
fflush (stdout);
|
||||
memset (st,0,255);
|
||||
- fgets (st,255,stdin);
|
||||
+ if (!fgets(st, 255, stdin)) st[0] = 0;
|
||||
while (st[strlen (st) - 1] == 10 || st[strlen (st) - 1] == 13) st[strlen (st) - 1] = 0;
|
||||
memcpy (status->stat[bus][adr].command2,st,20);
|
||||
|
||||
@@ -1544,7 +1570,7 @@
|
||||
printf ("\n\nEnter MAC Address: ");
|
||||
fflush (stdout);
|
||||
memset (st,0,255);
|
||||
- fgets (st,255,stdin);
|
||||
+ if (!fgets(st, 255, stdin)) st[0] = 0;
|
||||
while (st[strlen (st) - 1] == 10 || st[strlen (st) - 1] == 13) st[strlen (st) - 1] = 0;
|
||||
if (st[0] == 0 || st[1] == 0) {
|
||||
memset (status->stat[bus][adr].command2,0,6);
|
||||
@@ -1598,7 +1624,7 @@
|
||||
|
||||
printf ("\nSelect panel: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
}
|
||||
@@ -1653,7 +1679,7 @@
|
||||
while (choice < 56) {
|
||||
ShowSetStatus (adr,bus,status);
|
||||
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1682,25 +1708,29 @@
|
||||
if (choice == 52) {
|
||||
printf ("\nEnter PowerOn Remote: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",status->stat[bus][adr].remote);
|
||||
+ if (scanf("%79s", status->stat[bus][adr].remote) != 1)
|
||||
+ status->stat[bus][adr].remote[0] = 0;
|
||||
}
|
||||
|
||||
if (choice == 53) {
|
||||
printf ("\nEnter PowerOn Command: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",status->stat[bus][adr].command);
|
||||
+ if (scanf("%19s", status->stat[bus][adr].command) != 1)
|
||||
+ status->stat[bus][adr].command[0] = 0;
|
||||
}
|
||||
|
||||
if (choice == 54) {
|
||||
printf ("\nEnter PowerOff Remote: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",status->stat[bus][adr].remote2);
|
||||
+ if (scanf("%79s", status->stat[bus][adr].remote2) != 1)
|
||||
+ status->stat[bus][adr].remote2[0] = 0;
|
||||
}
|
||||
|
||||
if (choice == 55) {
|
||||
printf ("\nEnter PowerOff Command: ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",status->stat[bus][adr].command2);
|
||||
+ if (scanf("%19s", status->stat[bus][adr].command2) != 1)
|
||||
+ status->stat[bus][adr].command2[0] = 0;
|
||||
}
|
||||
|
||||
if (choice == 99) {
|
||||
@@ -1786,7 +1816,7 @@
|
||||
printf ("\n99 - Exit\n");
|
||||
printf ("\nSelect command ");
|
||||
fflush (stdout);
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
@@ -1818,7 +1848,7 @@
|
||||
int choice = 0;
|
||||
|
||||
BuildMainMenu ();
|
||||
- scanf ("%s",st);
|
||||
+ read_string(st, sizeof(st));
|
||||
getchar ();
|
||||
choice = atoi (st);
|
||||
|
||||
Binärdateien work.orig/ip_assign64 und work/ip_assign64 sind verschieden.
|
||||
diff '--color=auto' -uNr work.orig/ip_assign.c work/ip_assign.c
|
||||
--- work.orig/ip_assign.c 2026-04-07 19:20:30.733614568 +0200
|
||||
+++ work/ip_assign.c 2026-04-07 19:30:48.216798431 +0200
|
||||
@@ -206,7 +206,7 @@
|
||||
printf ("Please select device to use (0 = Exit) ");
|
||||
fflush (stdout);
|
||||
do {
|
||||
- fgets (nm,sizeof (nm),stdin);
|
||||
+ if (!fgets (nm,sizeof (nm),stdin)) nm[0] = 0;
|
||||
choice = atoi (nm);
|
||||
} while (nm[0] < '0');
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
|
||||
printf ("\n\nConfigure device for DHCP (Y/N) ? ");
|
||||
fflush (stdout);
|
||||
- fgets (nm,sizeof (nm),stdin);
|
||||
+ if (!fgets (nm,sizeof (nm),stdin)) nm[0] = 0;
|
||||
printf ("\n");
|
||||
|
||||
if (*nm == 'Y' || *nm == 'y') ip->dhcp_flag = 1;
|
||||
@@ -317,26 +317,26 @@
|
||||
do {
|
||||
printf ("\nEnter IP Address: ");
|
||||
fflush (stdout);
|
||||
- fgets (nm,sizeof (nm),stdin);
|
||||
+ if (!fgets (nm,sizeof (nm),stdin)) nm[0] = 0;
|
||||
ip->ip = inet_addr (nm);
|
||||
} while (ip->ip == INADDR_NONE);
|
||||
do {
|
||||
printf ("\nEnter Netmask : ");
|
||||
fflush (stdout);
|
||||
- fgets (nm,sizeof (nm),stdin);
|
||||
+ if (!fgets (nm,sizeof (nm),stdin)) nm[0] = 0;
|
||||
ip->netmask = inet_addr (nm);
|
||||
} while (ip->netmask == INADDR_NONE);
|
||||
do {
|
||||
printf ("\nDefault Gateway : ");
|
||||
fflush (stdout);
|
||||
- fgets (nm,sizeof (nm),stdin);
|
||||
+ if (!fgets (nm,sizeof (nm),stdin)) nm[0] = 0;
|
||||
ip->gateway = inet_addr (nm);
|
||||
} while (ip->gateway == INADDR_NONE);
|
||||
}
|
||||
|
||||
printf ("\n\nEnter device password: ");
|
||||
fflush (stdout);
|
||||
- fgets (ip->password,8,stdin);
|
||||
+ if (!fgets (ip->password,8,stdin)) ip->password[0] = 0;
|
||||
|
||||
printf ("\n");
|
||||
}
|
||||
Binärdateien work.orig/irclient64 und work/irclient64 sind verschieden.
|
||||
Binärdateien work.orig/x64/client.o und work/x64/client.o sind verschieden.
|
||||
Binärdateien work.orig/x64/ip_assign.o und work/x64/ip_assign.o sind verschieden.
|
||||
@@ -19,10 +19,10 @@ KEYWORDS="~amd64 ~arm ~x86"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
PATCHES=( "${WORKDIR}/${PN}"-5.11.04-ip_assign-1.patch "${FILESDIR}"/client_sleep.patch )
|
||||
PATCHES=( "${WORKDIR}/${PN}"-5.11.04-ip_assign-1.patch "${FILESDIR}"/client_sleep.patch "${FILESDIR}"/client_warnings.patch )
|
||||
|
||||
src_compile() {
|
||||
append-flags -DLINUX
|
||||
append-cppflags -DLINUX
|
||||
|
||||
# Set sane defaults (arm target has no -D flags added)
|
||||
local irbuild
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
AUX gcc15.patch 11074 BLAKE2B e9b425dcbdd4b6e8c9b03f2c5238fd6a87b6fe4f49b349cad413b8feb0e644afa49a8007d7cf2ff5f25669ecbffd008c22d7eeeecab8ab97fda37d7de3f85758 SHA512 7c4de90a1f25c16303b0885c32ff05092c311890a4cacfa71574ee7e5007d9bde9006928958ce755b59d0574ff5e94ede4b558f4479faca9fdca81df6ba8348a
|
||||
AUX irtrans-server.confd 405 BLAKE2B fa94ea017cb77fbde5e3d06b9b4db0a8ab718603657be9c847049bd51b84356e4f32cf737cceb882fc002193e4163bf75c8dabb0f7e81d80934ea41a0d9f1fdb SHA512 1de71558faf723b6f2b8b133f81d20addc7c0775e3859307a78e1ae41bd9fb122ccc43f483d7e9e33cb21de611e283246562e1a8d1cd3d6cfd9d1a3002b8593b
|
||||
AUX irtrans-server.initd 577 BLAKE2B 3b1507c90cc241016eabde61566bcae96302c452a880f30089a086b50a6e1ff9007b915eb0523c0ff896fb692a2a459fc3b780a4ae50c912cb8d4bf780f06e7d SHA512 174d17d5d8dc5f2b7d39eabfd1e3ee5d72d9fc1130ea7f538e395d1401aaebcc4ff18582f6ec9a1baba11ff70308bcff3aa2bf31075bc0f20762639f8794008a
|
||||
AUX irtrans-server.service 218 BLAKE2B 3eb1d695da2e0f1baaba6a2abb6aef6864ecb11f20230e5b7ec4e5f54cf3d7bbee62a647a6ec98ea47f9f594308e826e53f365af92410f29f1d305c5ec520d91 SHA512 e16002a3b31b9015a42c9edd75e462108199ad46c74e7b83ed1bc39e5c08497388ce099798b0e73acfaf59078e62df938b021ca076abaa346e423446378f6ccb
|
||||
AUX irtrans-server.service 416 BLAKE2B ffc0ba6b32904c6de2d14310aeb5437388acdfd89516ce0b6a9154c22632aba97ec8f5d1685fc032b7608632224bdc25c6546abfa24034de25840e551bf50666 SHA512 a6583c757b21db03aa252ef371ffb8821c8ab62fe50a2f941fe3dc4f9e4cfcf068cb0870e1f5b995af65c53d6e8192020228c7eb624e19fb2d85e13870fbed0b
|
||||
AUX server-warnings.patch 10500 BLAKE2B 629de12e01f80379ed5fc957002a336e9338f0a677290b4aa04e6238c4f7e0866fdcb1f307cea32dcd367271c1245c913d94377864385da72238a08bc61c73c0 SHA512 d49edcfb40eef3e72f9c2fb8e55311dfcd9865691631420e2801078ee6119694e0ed0fa204b24809f18d68dd60ffd947efa94295c925afbc0eb7a249bc9d1793
|
||||
DIST irserver-6.10.23.tar.gz 864840 BLAKE2B a046fc394f6a39b261d448f0e67816f5cacd8bbe6b075650e50318bb5042b29d7972c14eac0923d36afaafd000c32682e8b68be238b57fd5cc1f4e4c22205651 SHA512 81934293ffb7e5d34ff04276612f9e7fe20b4fc401a63cda64da360fb8a7c48f94a57631c1c19d2fd7e75d2e1e3fe34c08319a743d444a38febf1fb4f9c0767d
|
||||
DIST irserver-src-6.10.23.tar.gz 532755 BLAKE2B 6550ecacf007fe4a69c523c181feb1a96e3309c86d9d2040af05bd02d00391c3c37e7ef4c9f829db37b97dc590c88baf746544a5996e44b4fdc8088ea2ea9589 SHA512 ef453381ae4802a40a76c27a685c6892d1d0f6a88ef2975868e901eb06b5e70ba6e6f40333c4ea45a83f2b4419a49b9b16d08f23f303e1911d856f8b6afc2d85
|
||||
EBUILD irtrans-irserver-6.10.23.ebuild 1970 BLAKE2B e018cc690a7eb09e261109879629496437a24352bedaf9fb05a528c98cd92f29eb2659028c3b28ae9182e7e1a202059adc1ad80319a47a9daf99f7afc23d517c SHA512 c1805422fd4835dcc2f362f2d35bfdf172eaf6af9b5617464babba1528b2f19cde2313c841e4af23ed130a11ed746893195b62e97ad18ec1b2267c83d604603f
|
||||
EBUILD irtrans-irserver-6.10.23.ebuild 2067 BLAKE2B 5dad194cb53dd02ff332e8d7469d7e7765258b665cbbda67e3dedbf2707e4ed31d476663697e7cbcc2c4d078016e07d5ecbc8940db20c0784c6308fe152425f0 SHA512 8d2585685de16dbb8d9f47ad4e9fc52771a5679e1da94aa47b4dea1aa4955a6e73c47110451b6f66ac6d55e431e56fc449950201ec96dbc5f56ffb40f361dc23
|
||||
MISC ChangeLog 6002 BLAKE2B f828d1c5a823915aa4779055c15b98795d726daf353e6594a8038b1654ce4e06096f7884e77703e7bc0097f02311ccfec27d2526405f8e3e13aa4b5dd088160d SHA512 9fc36a1b10d95a7594332861ee0fd2dd230ba919a7fefa4abc3ab7076af60e4b501ec19b92eabe9e1f89ad5283859893450bc9759ecc81469b67e067fc3ac644
|
||||
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
[Unit]
|
||||
Description=irTrans irServer Daemon
|
||||
After=multi-user.target
|
||||
Description=IRTrans Server
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
Alias=lirc.service
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
ExecStart=/home/pi/irserver/irserver -logfile /home/pi/irserver/irserver.log <Ip of Device>
|
||||
Type=forking
|
||||
EnvironmentFile=-/etc/conf.d/irtrans-server
|
||||
PIDFile=/run/irtrans-irserver.pid
|
||||
ExecStart=/usr/bin/irserver -logfile /var/log/irserver.log -loglevel ${LOGLEVEL} -pidfile /run/irtrans-irserver.pid ${OPT} ${IRDEVICE}
|
||||
Restart=on-failure
|
||||
RestartSec=2
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
323
app-misc/irtrans-irserver/files/server-warnings.patch
Normal file
323
app-misc/irtrans-irserver/files/server-warnings.patch
Normal file
@@ -0,0 +1,323 @@
|
||||
diff '--color=auto' -uNr work.orig/ascii.c work/ascii.c
|
||||
--- work.orig/ascii.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/ascii.c 2026-04-07 20:15:50.887432949 +0200
|
||||
@@ -610,7 +610,7 @@
|
||||
sprintf (err, txt, command);
|
||||
break;
|
||||
default:
|
||||
- sprintf (err, txt);
|
||||
+ snprintf(err, sizeof(err), "%s", txt);
|
||||
break;
|
||||
}
|
||||
sprintf (result,"**00000 RESULT ERROR: %s",err);
|
||||
@@ -708,7 +708,9 @@
|
||||
#endif
|
||||
if (!fp) continue;
|
||||
|
||||
- fread (&mem[pos],1,dir->dir[cnt].len,fp);
|
||||
+ if (fread(&mem[pos], 1, dir->dir[cnt].len, fp) != (size_t)dir->dir[cnt].len) {
|
||||
+ /* ignore short read */
|
||||
+ }
|
||||
fclose (fp);
|
||||
|
||||
dir->dir[cnt].adr = pos;
|
||||
@@ -807,7 +809,7 @@
|
||||
strcat (result,";");
|
||||
|
||||
atime = localtime (&fst.st_mtime);
|
||||
- sprintf (st,"%d;%02d.%02d.%04d %02d:%02d;",fst.st_size,atime->tm_mday,atime->tm_mon+1,atime->tm_year + 1900,atime->tm_hour,atime->tm_min);
|
||||
+ sprintf (st,"%ld;%02d.%02d.%04d %02d:%02d;",(long)fst.st_size,atime->tm_mday,atime->tm_mon+1,atime->tm_year + 1900,atime->tm_hour,atime->tm_min);
|
||||
strcat (result,st);
|
||||
|
||||
len = (word)strlen (result);
|
||||
@@ -834,7 +836,7 @@
|
||||
strcat (result,";");
|
||||
|
||||
atime = localtime (&fst.st_mtime);
|
||||
- sprintf (st,"%d;%02d.%02d.%04d %02d:%02d;",fst.st_size,atime->tm_mday,atime->tm_mon+1,atime->tm_year + 1900,atime->tm_hour,atime->tm_min);
|
||||
+ sprintf (st,"%ld;%02d.%02d.%04d %02d:%02d;",(long)fst.st_size,atime->tm_mday,atime->tm_mon+1,atime->tm_year + 1900,atime->tm_hour,atime->tm_min);
|
||||
strcat (result,st);
|
||||
|
||||
len = strlen (result);
|
||||
diff '--color=auto' -uNr work.orig/errormessage.c work/errormessage.c
|
||||
--- work.orig/errormessage.c 2026-04-07 19:41:30.977000238 +0200
|
||||
+++ work/errormessage.c 2026-04-07 20:15:50.887640731 +0200
|
||||
@@ -91,7 +91,7 @@
|
||||
struct _timeb tb;
|
||||
#endif
|
||||
#ifdef LINUX
|
||||
- struct timeb tb;
|
||||
+ struct timeval tv_linux;
|
||||
#endif
|
||||
|
||||
if (logfp) fp = logfp;
|
||||
@@ -107,10 +107,15 @@
|
||||
_ftime (&tb);
|
||||
#endif
|
||||
#ifdef LINUX
|
||||
- ftime (&tb);
|
||||
+ gettimeofday(&tv_linux, NULL);
|
||||
#endif
|
||||
+#ifdef WIN32
|
||||
tv = tb.time;
|
||||
ms = tb.millitm;
|
||||
+#endif
|
||||
+#ifdef LINUX
|
||||
+ ms = (int)(tv_linux.tv_usec / 1000);
|
||||
+#endif
|
||||
tmpnt = localtime (&tv);
|
||||
|
||||
fprintf (fp,"%4d-%02d-%02d %02d:%02d:%02d.%03d %s",tmpnt->tm_year+1900,tmpnt->tm_mon+1,tmpnt->tm_mday,tmpnt->tm_hour,tmpnt->tm_min,tmpnt->tm_sec,ms,msg);
|
||||
diff '--color=auto' -uNr work.orig/fileio.c work/fileio.c
|
||||
--- work.orig/fileio.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/fileio.c 2026-04-07 20:15:50.887868293 +0200
|
||||
@@ -525,7 +525,9 @@
|
||||
}
|
||||
#endif
|
||||
#ifdef LINUX
|
||||
- truncate (client->filename,pos);
|
||||
+ if (truncate(client->filename, pos) != 0) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
#endif
|
||||
}
|
||||
|
||||
diff '--color=auto' -uNr work.orig/flashrom.c work/flashrom.c
|
||||
--- work.orig/flashrom.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/flashrom.c 2026-04-07 20:15:50.888147884 +0200
|
||||
@@ -1763,7 +1763,9 @@
|
||||
}
|
||||
if (!strncmp (st,"[ACTION]",8)) {
|
||||
fseek (fptrans,pos+10,SEEK_SET);
|
||||
- fread (irdb[trans_num].action,1,irdb[trans_num].action_len,fptrans);
|
||||
+ if (fread(irdb[trans_num].action, 1, irdb[trans_num].action_len, fptrans) != (size_t)irdb[trans_num].action_len) {
|
||||
+ /* ignore short read */
|
||||
+ }
|
||||
}
|
||||
if (!strncmp (st,"[RELAIS]",8)) irdb[trans_num].relais = st[8] + ((st[9] & 2) << 6) + ((st[9] & 1) << 1);
|
||||
if (!strncmp (st,"[ACTYPE]",8)) {
|
||||
Binärdateien work.orig/irserver64 und work/irserver64 sind verschieden.
|
||||
diff '--color=auto' -uNr work.orig/lanio.c work/lanio.c
|
||||
--- work.orig/lanio.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/lanio.c 2026-04-07 20:15:50.888397749 +0200
|
||||
@@ -138,7 +138,7 @@
|
||||
LARGE_INTEGER time_ack;
|
||||
#endif
|
||||
#ifdef LINUX
|
||||
- struct timeb tb;
|
||||
+ struct timeval tv;
|
||||
long long int time_start;
|
||||
long long int time_ack;
|
||||
#endif
|
||||
@@ -265,14 +265,14 @@
|
||||
QueryPerformanceCounter (&time_ack);
|
||||
timediff = (unsigned long)((time_ack.QuadPart - time_start.QuadPart) / counterRes.QuadPart);
|
||||
#else
|
||||
- ftime (&tb);
|
||||
- time_start = tb.time * 10000 + tb.millitm * 10;
|
||||
+ gettimeofday(&tv, NULL);
|
||||
+ time_start = (long long)tv.tv_sec * 10000 + tv.tv_usec / 100;
|
||||
do {
|
||||
res = rcv_status_timeout (50,target.sin_addr.s_addr);
|
||||
} while (res == COMMAND_SEND_ACK2);
|
||||
|
||||
- ftime (&tb);
|
||||
- time_ack = tb.time * 10000 + tb.millitm * 10;
|
||||
+ gettimeofday(&tv, NULL);
|
||||
+ time_ack = (long long)tv.tv_sec * 10000 + tv.tv_usec / 100;
|
||||
timediff = time_ack - time_start;
|
||||
#endif
|
||||
|
||||
@@ -288,8 +288,8 @@
|
||||
#else
|
||||
res = rcv_status_timeout (50,target.sin_addr.s_addr);
|
||||
|
||||
- ftime (&tb);
|
||||
- time_ack = tb.time * 10000 + tb.millitm * 10;
|
||||
+ gettimeofday(&tv, NULL);
|
||||
+ time_ack = (long long)tv.tv_sec * 10000 + tv.tv_usec / 100;
|
||||
timediff = time_ack - time_start;
|
||||
#endif
|
||||
if (res == -1) return (ERR_TIMEOUT);
|
||||
@@ -305,8 +305,8 @@
|
||||
#else
|
||||
res = rcv_status_timeout (2000,target.sin_addr.s_addr);
|
||||
|
||||
- ftime (&tb);
|
||||
- time_ack = tb.time * 10000 + tb.millitm * 10;
|
||||
+ gettimeofday(&tv, NULL);
|
||||
+ time_ack = (long long)tv.tv_sec * 10000 + tv.tv_usec / 100;
|
||||
timediff = time_ack - time_start;
|
||||
#endif
|
||||
}
|
||||
diff '--color=auto' -uNr work.orig/server.c work/server.c
|
||||
--- work.orig/server.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/server.c 2026-04-07 20:15:50.888696956 +0200
|
||||
@@ -944,7 +944,9 @@
|
||||
int vers;
|
||||
vers = GetOSInfo ();
|
||||
if (vers >= 510 && (vers & 1)) { // Running on x64 (WOW64)
|
||||
- if (serverdir[0]) chdir (serverdir);
|
||||
+ if (serverdir[0] && chdir(serverdir) != 0) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
if (_execv (".\\irserver64.exe",argv)) {
|
||||
fprintf (stderr,"Error executing the 64Bit IRServer\n");
|
||||
exit (-1);
|
||||
@@ -960,7 +962,9 @@
|
||||
uname (&u);
|
||||
if (!strcmp (u.machine,"x86_64")) { // Running on x64
|
||||
argv[0] = "irserver64";
|
||||
- if (serverdir[0]) chdir (serverdir);
|
||||
+ if (serverdir[0] && chdir(serverdir) != 0) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
if (execv ("./irserver64",argv)) {
|
||||
fprintf (stderr,"Error executing the 64Bit IRServer\n");
|
||||
exit (-1);
|
||||
@@ -995,7 +999,9 @@
|
||||
return (get_devices (st,1));
|
||||
}
|
||||
|
||||
- if (serverdir[0]) chdir (serverdir);
|
||||
+ if (serverdir[0] && chdir(serverdir) != 0) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
|
||||
argc++;
|
||||
|
||||
@@ -2703,7 +2709,7 @@
|
||||
if (sockinfo[i].type == SELECT_SERVER || sockinfo[i].type == SELECT_REOPEN) {
|
||||
if (sockinfo[i].mode >= MODE_ASCII) {
|
||||
sprintf (msg,"**00000 RCV_COM %s,%s,%d,%d\n",rem,name,0,0);
|
||||
- sprintf (msg+2,"%05d",strlen (msg));
|
||||
+ sprintf (msg+2,"%05zu",strlen (msg));
|
||||
msg[7] = ' ';
|
||||
res = send (sockinfo[i].fd,msg,(int)strlen (msg),MSG_NOSIGNAL);
|
||||
}
|
||||
@@ -2803,7 +2809,7 @@
|
||||
}
|
||||
else if (sockinfo[i].mode >= MODE_ASCII) {
|
||||
sprintf (msg,"**00000 RCV_COM %s,%s,%d,%d\n",rem,name,bus,*command & 15);
|
||||
- sprintf (msg+2,"%05d",strlen (msg));
|
||||
+ sprintf (msg+2,"%05zu",strlen (msg));
|
||||
msg[7] = ' ';
|
||||
res = send (sockinfo[i].fd,msg,(int)strlen (msg),MSG_NOSIGNAL);
|
||||
}
|
||||
@@ -2860,7 +2866,7 @@
|
||||
}
|
||||
else if (sockinfo[i].mode >= MODE_ASCII) {
|
||||
sprintf (msg,"**00000 RCV_COD %s,%d,%d\n",command+1,bus,*command & 15);
|
||||
- sprintf (msg+2,"%05d",strlen (msg));
|
||||
+ sprintf (msg+2,"%05zu",strlen (msg));
|
||||
msg[7] = ' ';
|
||||
res = send (sockinfo[i].fd,msg,(int)strlen (msg),MSG_NOSIGNAL);
|
||||
}
|
||||
@@ -2870,7 +2876,7 @@
|
||||
i++;
|
||||
}
|
||||
if (mode_flag & DEBUG_CODE) {
|
||||
- sprintf (msg,"[%d.%d]: LEN: %d %s\n",bus,(*command & 15),strlen(command+1),command+1);
|
||||
+ sprintf (msg,"[%d.%d]: LEN: %zu %s\n",bus,(*command & 15),strlen(command+1),command+1);
|
||||
log_print (msg,LOG_FATAL);
|
||||
}
|
||||
}
|
||||
@@ -3861,7 +3867,9 @@
|
||||
}
|
||||
#endif
|
||||
#ifdef LINUX
|
||||
- truncate (st,res);
|
||||
+ if (truncate(st, res) != 0) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
#endif
|
||||
|
||||
ReadIRDatabase ();
|
||||
@@ -5527,7 +5535,9 @@
|
||||
if (new) chmod (LIRCD,PERMISSIONS);
|
||||
else {
|
||||
chmod(LIRCD,s.st_mode);
|
||||
- chown(LIRCD,s.st_uid,s.st_gid);
|
||||
+ if (chown(LIRCD, s.st_uid, s.st_gid) != 0) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
}
|
||||
|
||||
listen(local_socket,3);
|
||||
@@ -5751,7 +5761,7 @@
|
||||
sprintf (err, txt, command);
|
||||
break;
|
||||
default:
|
||||
- sprintf (err, txt);
|
||||
+ snprintf(err, sizeof(err), "%s", txt);
|
||||
break;
|
||||
}
|
||||
log_print (err, LOG_ERROR);
|
||||
diff '--color=auto' -uNr work.orig/webserver.c work/webserver.c
|
||||
--- work.orig/webserver.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/webserver.c 2026-04-07 20:15:50.889051906 +0200
|
||||
@@ -619,7 +619,7 @@
|
||||
strcat (mem,"Date: Sun, 21 Dec 2003 23:10:01 GMT\r\n");
|
||||
strcat (mem,"Server: IRTrans 2.0\r\n");
|
||||
strcat (mem,"Mime-Version: 1.0\r\n");
|
||||
- sprintf (ln,"Content-Type: text/html\r\nContent-Length: %6d\r\n",strlen (body));
|
||||
+ sprintf (ln,"Content-Type: text/html\r\nContent-Length: %6zu\r\n",strlen (body));
|
||||
strcat (mem,ln);
|
||||
|
||||
strcat (mem,"Expires: Sun, 21 Dec 2003 23:10:01 GMT\r\n");
|
||||
Binärdateien work.orig/x64/ascii.o und work/x64/ascii.o sind verschieden.
|
||||
Binärdateien work.orig/x64/errormessage.o und work/x64/errormessage.o sind verschieden.
|
||||
Binärdateien work.orig/x64/flashrom.o und work/x64/flashrom.o sind verschieden.
|
||||
Binärdateien work.orig/x64/lanio.o und work/x64/lanio.o sind verschieden.
|
||||
Binärdateien work.orig/x64/server.o und work/x64/server.o sind verschieden.
|
||||
Binärdateien work.orig/x64/webserver.o und work/x64/webserver.o sind verschieden.
|
||||
Binärdateien work.orig/x64/xap.o und work/x64/xap.o sind verschieden.
|
||||
Binärdateien work.orig/x64/xbmc.o und work/x64/xbmc.o sind verschieden.
|
||||
diff '--color=auto' -uNr work.orig/xap.c work/xap.c
|
||||
--- work.orig/xap.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/xap.c 2026-04-07 20:15:50.889221981 +0200
|
||||
@@ -249,7 +249,7 @@
|
||||
sprintf (err,txt,(adr >> 20) & (MAX_IR_DEVICES - 1));
|
||||
break;
|
||||
default:
|
||||
- sprintf (err, txt);
|
||||
+ snprintf(err, sizeof(err), "%s", txt);
|
||||
break;
|
||||
}
|
||||
log_print (err, LOG_ERROR);
|
||||
diff '--color=auto' -uNr work.orig/xbmc.c work/xbmc.c
|
||||
--- work.orig/xbmc.c 2026-04-07 19:41:30.978184847 +0200
|
||||
+++ work/xbmc.c 2026-04-07 20:19:47.129476172 +0200
|
||||
@@ -183,7 +183,9 @@
|
||||
#endif
|
||||
|
||||
#ifdef LINUX
|
||||
- system (app->appname);
|
||||
+ if (system(app->appname) == -1) {
|
||||
+ /* ignore failure */
|
||||
+ }
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -263,7 +265,9 @@
|
||||
|
||||
fp = popen( "ps aux|grep -v grep|grep -i xbmc.bin", "r");
|
||||
|
||||
- fgets (ln,sizeof (ln),fp);
|
||||
+ if (!fgets(ln, sizeof(ln), fp)) {
|
||||
+ ln[0] = 0;
|
||||
+ }
|
||||
|
||||
pclose (fp);
|
||||
|
||||
@@ -272,7 +276,9 @@
|
||||
|
||||
if (!ln[i]) {
|
||||
fp = popen( "ps aux|grep -v grep|grep -i kodi.bin", "r");
|
||||
- fgets (ln,sizeof (ln),fp);
|
||||
+ if (!fgets(ln, sizeof(ln), fp)) {
|
||||
+ ln[0] = 0;
|
||||
+ }
|
||||
pclose (fp);
|
||||
i = 0;
|
||||
while (ln[i] && ln[i] != ' ' && ln[i] != '\t') i++;
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic toolchain-funcs mono-env
|
||||
inherit flag-o-matic toolchain-funcs mono-env systemd
|
||||
|
||||
DESCRIPTION="Server software for IRTrans"
|
||||
HOMEPAGE="http://www.irtrans.de"
|
||||
@@ -22,7 +22,7 @@ RDEPEND="mono? ( >=dev-lang/mono-2.10.5 )"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/gcc15.patch )
|
||||
PATCHES=( "${FILESDIR}"/gcc15.patch "${FILESDIR}"/server-warnings.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
@@ -63,6 +63,7 @@ src_install() {
|
||||
|
||||
newinitd "${FILESDIR}"/irtrans-server.initd irtrans-server
|
||||
newconfd "${FILESDIR}"/irtrans-server.confd irtrans-server
|
||||
systemd_dounit "${FILESDIR}"/irtrans-server.service
|
||||
|
||||
if use mono ; then
|
||||
# Wrapper script to launch mono
|
||||
|
||||
Reference in New Issue
Block a user