Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
ping -I eth1 CÍLOVÁIP a ping -I ipaddr(eth1) CÍLOVÁIPměly být ekvivalentní. Ale zdá se nejsou, na Fedora 14 i686 boxu se to chová takto:
# ping -I 10.128.254.2 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I eth1 -c 3 -nn 90.183.38.60 PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 : 56(84) bytes of data. 64 bytes from 90.183.38.60: icmp_req=1 ttl=56 time=4.66 ms 64 bytes from 90.183.38.60: icmp_req=2 ttl=56 time=12.7 ms 64 bytes from 90.183.38.60: icmp_req=3 ttl=56 time=4.50 ms --- 90.183.38.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 4.502/7.310/12.769/3.861 ms PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 eth1: 56(84) bytes of data. From 10.128.254.2 icmp_seq=1 Destination Host Unreachable From 10.128.254.2 icmp_seq=2 Destination Host Unreachable From 10.128.254.2 icmp_seq=3 Destination Host Unreachable --- 90.183.38.60 ping statistics --- 3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 1999ms pipe 3Interface eth1 má IP adresu 10.128.254.2 (ta je u ISP NATována 1:1 na veřejnou), na žádném interface nejsou použity IPv6 ani IP aliasy:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:30:4f:39:4b:49 brd ff:ff:ff:ff:ff:ff
inet 10.128.254.2/29 brd 10.128.254.7 scope global eth1
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:c7:25:c7:53 brd ff:ff:ff:ff:ff:ff
inet 10.3.60.10/24 brd 10.3.60.255 scope global eth2
4: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:c7:19:3b:94 brd ff:ff:ff:ff:ff:ff
inet 10.0.1.254/24 brd 10.0.1.255 scope global eth3
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1e:8c:94:05:cd brd ff:ff:ff:ff:ff:ff
inet 192.168.0.254/24 brd 192.168.0.255 scope global eth0
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet 90.187.57.21 peer 78.103.210.66/32 scope global ppp0
Setkal se s tím někdo, resp. je pro to nějaké vysvětlení?
pepe@PC-Pepe:~$ uname -r 2.6.38-10-generic pepe@PC-Pepe:~$ pepe@PC-Pepe:~$ ping -I 10.10.10.1 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I eth0 -c 3 -nn 90.183.38.60 PING 90.183.38.60 (90.183.38.60) from 10.10.10.1 : 56(84) bytes of data. 64 bytes from 90.183.38.60: icmp_seq=1 ttl=52 time=20.3 ms 64 bytes from 90.183.38.60: icmp_seq=2 ttl=52 time=22.0 ms 64 bytes from 90.183.38.60: icmp_seq=3 ttl=52 time=23.3 ms --- 90.183.38.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 20.337/21.917/23.355/1.248 ms PING 90.183.38.60 (90.183.38.60) from 10.10.10.1 eth0: 56(84) bytes of data. 64 bytes from 90.183.38.60: icmp_seq=1 ttl=52 time=23.8 ms 64 bytes from 90.183.38.60: icmp_seq=2 ttl=52 time=29.3 ms 64 bytes from 90.183.38.60: icmp_seq=3 ttl=52 time=23.2 ms --- 90.183.38.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 23.237/25.468/29.362/2.768 ms pepe@PC-Pepe:~$
# ip route list table wifismrk 90.187.57.21 dev ppp0 scope link 10.128.254.0/29 dev eth1 scope link src 10.128.254.2 10.3.60.0/24 dev eth2 scope link 192.168.0.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 10.128.254.1 dev eth1 # ip route list table wifibudka 90.187.57.21 dev ppp0 scope link 10.128.254.0/29 dev eth1 scope link 10.3.60.0/24 dev eth2 scope link src 10.3.60.10 192.168.0.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 10.3.60.1 dev eth2 # ip route list table adsl 90.187.57.21 dev ppp0 scope link src 90.187.57.21 10.128.254.0/29 dev eth1 scope link 10.3.60.0/24 dev eth2 scope link 192.168.0.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default dev ppp0 scope link # ip rule show 0: from all lookup local 32763: from 90.187.57.21 lookup adsl 32764: from 10.3.60.10 lookup wifibudka 32765: from 10.128.254.2 lookup wifismrk 32766: from all lookup main 32767: from all lookup default
]# ping -R -I 10.128.254.2 -c 3 -nn 90.183.38.60 PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 : 56(124) bytes of data. --- 90.183.38.60 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 1999ms(tj. oproti verzi která "chodí" je tam navíc přepínač "-R" /Record route/ - a s ním to také přestane ping-at). Pro upřesnění - zvenku z internetu lze na příslušnou IP adresu pingnout i navázat TCP spojení se službami na Linux boxu.
/proc/sys/net/ipv4/conf/*/rp_filter = 0 /proc/sys/net/ipv4/conf/*/accept_source_route = 1
# ip route list 90.187.57.21 dev ppp0 scope link src 90.187.57.21 78.103.210.66 dev ppp0 proto kernel scope link src 90.187.57.21 10.128.254.0/29 dev eth1 proto kernel scope link src 10.128.254.2 10.3.60.0/24 dev eth2 proto kernel scope link src 10.3.60.10 10.0.1.0/24 dev eth3 proto kernel scope link src 10.0.1.254 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.254 169.254.0.0/16 dev eth1 scope link metric 1002 169.254.0.0/16 dev eth2 scope link metric 1003 169.254.0.0/16 dev eth3 scope link metric 1004 169.254.0.0/16 dev eth0 scope link metric 1005 default via 10.3.60.1 dev eth2
[root@ganymed ~]# ping -I 139.84.66.15 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I re0 -c 3 -nn 90.183.38.60 ping: -I, -L, -T flags cannot be used with unicast destination ping: invalid multicast interface: `re0'
# ip addr show eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:30:4f:39:4b:49 brd ff:ff:ff:ff:ff:ff
inet 10.128.254.2/29 brd 10.128.254.7 scope global eth1
Jak je to v BSD a co je re0 se přiznám že nevím.
[root@ganymed ~]# ifconfig re0
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 52:54:00:00:01:8f
inet XX:XX:XX:XX:XX netmask 0xffffff00 broadcast XX:XX:XX:XX:XX:XX
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
man ping … -I interface Source multicast packets with the given interface address. This flag only applies if the ping destination is a multicast address.Taková je situace na BSD. Zkus si udělat na tom interface tcpdump v obou pokusech; podle mého v tom bude mít prsty ARP a směrování. V případě pingu z IP adresy bys měl vidět ARP dotaz na default GW a v případě pingu z interface bys měl vidět ARP dotaz na destinační IP adresu. V tom bude ten rozdíl. Bohužel si to nemůžu na ničem vyzkoušet sám, ale vycházím z logické úvahy.
-I interface address
Set source address to specified interface address. Argument may be numeric IP address
or name of device. When pinging IPv6 link-local address this option is required.
Takže žiju v tom, že tahle volba vynutí odeslání ICMP paketu ven daným (jménem rozhraní n. jeho IP adresou) rozhraním (programově asi přes volání bind()). A bude se to řešit standardním postupem - pokud je cíl na segmentu tohoto interface, tak se zjistí přes ARP; pokud ne a routovací tabulky specifikují gateway, tak se to pošle tam.10.128.254.0/29 dev eth1 scope link src 10.128.254.2 default via 10.128.254.1 dev eth1) jsem očekával že to půjde na gateway 10.128.254.1 a ta to pošle dál. A hlavně, že "ping -I 10.128.254.2" a "ping -I eth1" se bude chovat stejně - že v druhém případě se jméno interface použije na získání jeho IP a dál je všechno stejné.
Ten popis neodpovídá tomu, co je ve zdrojácích. Ty dva případy se ve skutečnosti řeší různě: zadáte-li adresu, nabinduje se socket na tu adresu, zadáte-li interface, použije se socket option SO_BINDTODEVICE. Což celkem dává smysl - už od jádra 2.2 je totiž formulace "adresa daného rozhraní" principiálně nesmyslná. O víkendu snad budu mít trochu času a zkusím ten váš problém zreprodukovat, abych zjistil, co se tam děje.
Jen pro jistotu: nemůže vám ty pakety zahazovat netfilter?
S tou "adresa daného rozhraní" se něco asi dělat dá, viz getifaddrs().
Všimněte si, že na konci je s a i popis v manuálové stránce říká "get interface addresses".
Tiskni
Sdílej: