Byla vydána nová verze 13.8 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v příspěvku na blogu.
Otevřená certifikační autorita Let’s Encrypt v příspěvku na svém blogu představila své nové databázové servery. Hardware: 2U rack server Dell EMC PowerEdge R7525, CPU 2x AMD EPYC 7542, Memory 2TB 3200MT/s, Storage 24x 6.4TB Intel P4610 NVMe SSD. Software: OpenZFS a MariaDB s InnoDB.
Článek systemd pro vývojáře: lokální vývojové servery v systemd na MojeFedora.cz doporučuje vývojářům používání systemd k ovládání svých projektů pomocí "systemctl --user".
Vyšla nová verze souborového manažera Midnight Commander 4.8.26. Mezi hlavní novinky patří zachování obsahu příkazové řádky při přepínání panelů pomocí Ctrl+O, stíny okolo dialogových oken jako v Norton Commanderu a dalších (vytvořeno autorem zprávičky), podpora jakkoli dlouhých názvů souborů a spousta dalších drobnějších věcí.
Projekty Elasticsearch a Kibana změní s verzí 7.11 licenci. Už se nebude jednat o open source software. Důvodem změny licence byl spor se společností AWS (Amazon Web Services). AWS na změnu licence odpovídá vlastním forkem. Vycházet bude z verze 7.10 a zůstane pod open source licencí Apache.
Lidé ze společnosti Corellium se včera na Twitteru pochlubili screenshotem Ubuntu na Apple Siliconu aneb zprovoznili Ubuntu na počítači Apple s novým ARM procesorem M1. CTO jej už používá k vývoji ve svém herním křesle s 49 palcovým monitorem. Dnes byly na blogu Corellium publikovány detaily a pro případné zájemce i návod a obraz ke stažení. Upravili obraz Ubuntu pro Raspberry Pi.
Rodina počítačů Raspberry Pi se rozšířila o jednočipový počítač Raspberry Pi Pico v ceně 4 dolary s vlastním procesorem RP2040. Představení na YouTube.
Společnost Red Hat na svém blogu oznámila, že Red Hat Enterprise Linux (RHEL) bude možné provozovat zdarma na 16 serverech.
Pod společným názvem DNSpooq byly zveřejněny informace o 7 bezpečnostních chybách v DNS caching a DHCP serveru dnsmasq. Jedná se o cache poisoning (CVE-2020-25686, CVE-2020-25684, CVE-2020-25685) a buffer overflow (CVE-2020-25687, CVE-2020-25683, CVE-2020-25682, CVE-2020-25681). Jejich kombinací lze dosáhnout závažnosti CVSS 9.8. Chyby jsou opraveny v dnsmasq 2.83.
Byla vydána nová stabilní verze 19.07.6 (Changelog) linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Řešena je také řada bezpečnostních chyb. Především v dnsmasq (DNSpooq).
int getche(void) { int vstup; vstup=getchar(); printf("%c",vstup); fflush(stdout); return vstup; } main() { int a,b; printf("zmackni dve klavesy\n"); a=getche(); b=getche(); printf("\nByly zmáčknuty tyto klavesy %c a %c\n", a, b); }
getchar is used to read data from the keyboard ( stdin). Effectivly it is a fgetc(stdin). The problem with this function is that the characters are buffered until RETURN is hit! This means that getchar does not see the characters until the user presses return. The non standard function getche gets around this problem and sees each character as it is pressed. I have not been able to produce the same function on Linux. The nearest I can get is by using 'curses' but it keeps clearing the screen!
#include <stdio.h> #include <termios.h> int main(int argc, char *argv[]) { struct termios settings; tcgetattr(0, &settings); settings.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); settings.c_oflag &= ~OPOST; settings.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); settings.c_cflag &= ~(CSIZE|PARENB); settings.c_cflag |= CS8; tcsetattr(0, TCSANOW, &settings); while(1) { int c=getchar(); putchar(c); if (c=='\r') putchar('\n'); } };Akorát ten test na konec řádku je mrzký, měl by to taky zařizovat nějaký flag, ale teď mi to nějak nejde...
struct termios settings; // ahoj Leoši, kdy to přestane dělat odstavce v PRE? tcgetattr(0, &settings); settings.c_lflag &= ~ICANON; settings.c_cflag |= CS8; tcsetattr(0, TCSANOW, &settings);Pak by se getchar() měl chovat k nerozeznání od windowsího getche() a program jde normálně ukončit ^C (ten předchozí se musel zabít z jiného terminálu). Prostě to zatím opiš a netrap se tím ;-)
#include <termios.h> int main(void) { struct termios settings; tcgetattr(0, &settings); settings.c_lflag &= ~ICANON; settings.c_cflag |= CS8; tcsetattr(0, TCSANOW, &settings); while (getchar() != 'c') ; return 0; }
Tiskni
Sdílej: