Compare commits

...

3 Commits

Author SHA1 Message Date
Christian Göttsche c8f12abc73 Fix clang-11 issues
Tested with clang 11.0.0-++20200715043845+0e377e253c1-1~exp1 on Debian sid

../src/network/test-networkd-conf.c:104:56: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
        test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
                                           ~~~~~~~~~~~~^~~
../src/network/test-networkd-conf.c:104:56: note: use array indexing to silence this warning
        test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
                                                       ^
                                           &           [  ]
1 warning generated.

../src/test/test-clock.c:52:17: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
                ftruncate(fileno(f), 0);
                ^~~~~~~~~ ~~~~~~~~~~~~
1 warning generated.

(gdb) run
Starting program: systemd/build/test-alloc-util
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
x1: 0x7fffffffd2d0
x2: 0x7fffffffdac0
y: 0x7fffffffd2cc
z: 0x7fffffffd2c0
cleanup2(0x7fffffffd2cc)
cleanup3(0x7fffffffd2c0)
cleanup1(0x7fffffffdac0)
cleanup1(0x7fffffffd2d0)
*** buffer overflow detected ***: terminated

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
        set = {__val = {0, 18446744073709551615, 0, 0, 0, 0, 140737348658240, 140737348659520, 0, 0, 0, 0, 0, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x22ff0, sa_sigaction = 0x22ff0}, sa_mask = {__val = {140737349888603, 4217127, 4217127, 4217127, 4217127, 4217383, 0, 0, 0, 0, 143329, 143344, 140737351162752, 8959, 18446744073709551328, 4289072}},
          sa_flags = -138460788, sa_restorer = 0xffffffffffffffff}
        sigs = {__val = {32, 0 <repeats 15 times>}}
        ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7fffffffd280, reg_save_area = 0x7fffffffd210}}
        fd = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
No locals.
No locals.
No locals.
No locals.
No locals.
        l = 0
No locals.
        p1 = 0x405500 "\223Nd\n\351\301mA\214\262A\247\306b\276\317\327\353\346k\035\024\273{\276&!kλ\233\217\t\207\276\327\347\351\355\307R\276\063{\235w=\237E\357\277KL\245\374\245\066M\201+\333\064\272\332g>1<@"
        p2 = <optimized out>
        i = <optimized out>
No locals.
2020-07-26 11:32:06 +02:00
Piotr Drąg 116d6d2965 catalog: update Polish translation 2020-07-26 11:28:29 +02:00
Yu Watanabe f527c6fa08 resolvectl: fix older resolved or networkd support to set DNS servers
Fixes #16573.
2020-07-26 11:05:06 +02:00
5 changed files with 44 additions and 3 deletions

View File

@ -488,3 +488,39 @@ Mocno zalecane jest unikanie wykonywania usług pod tą tożsamością użytkown
zwłaszcza na komputerach używających NFS lub mających kontenery. Należy
przydzielić identyfikator użytkownika dla tej konkretnej usługi, statycznie
przez systemd-sysusers lub dynamicznie przez ustawienie usługi DynamicUser=.
-- 1c0454c1bd2241e0ac6fefb4bc631433
Subject: Usługa systemd-udev-settle.service jest przestarzała.
Defined-By: systemd
Support: %SUPPORT_URL%
Użycie jednostki usługi systemd „systemd-udev-settle.service” jest
przestarzałe. Wstawia ona sztuczne opóźnienie do procesu uruchamiania
bez dostarczania gwarancji, które były oczekiwane przez pozostałe
podsystemy. Korzystanie z tej usługi może prowadzić do hazardów,
i zasadniczo jest błędem.
W przeszłości zadaniem tej usługi było oczekiwanie, aż wszystkie urządzenia
komputera zostaną w pełni wykryte i zainicjowane, opóźniając uruchamianie
do ukończenia tego etapu. Jednakże, współczesne komputery i urządzenia
na ogół nie działają już w ten sposób, tylko mogą pojawić się w dowolnej
chwili i zająć dowolny czas na wykrycie i inicjację. Z tego powodu,
w ogólnym przypadku, nie jest już możliwe poprawne opóźnienie uruchamiania
do przetworzenia „wszystkich urządzeń”, ponieważ nie jest jasne, co znaczy
„wszystkie urządzenia” i kiedy zostały odnalezione. Dotyczy to zwłaszcza
urządzeń podłączonych przez USB lub sieć.
Nowoczesne oprogramowanie wymagające określonego sprzętu (takiego jak
urządzenie sieciowe lub urządzenie blokowe) do działania powinno oczekiwać
tylko na pojawienie się danego urządzenia, a w przeciwnym razie działać
asynchronicznie, inicjując urządzenia, kiedy te pojawiają się w trakcie
uruchamiania i w trakcie działania systemu bez opóźniania procesu uruchamiania.
Jest to wada danego oprogramowania, jeśli nie działa ono w ten sposób
i nadal wciąga usługę systemd-udev-settle.service do procesu uruchamiania.
Prosimy zgłosić błąd w następujących jednostkach z prośbą
o ich aktualizację tak, aby działały w sposób dynamiczny
bez zależności od usługi systemd-udev-settle.service:
@OFFENDING_UNITS@

View File

@ -101,7 +101,7 @@ static void test_config_parse_duid_rawdata(void) {
test_config_parse_duid_rawdata_one("11::", 0, &(DUID){0, 1, {0x11}}); /* FIXME: should this be an error? */
test_config_parse_duid_rawdata_one("abcdef", 0, &(DUID){});
test_config_parse_duid_rawdata_one(BYTES_0_128, 0, &(DUID){});
test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
test_config_parse_duid_rawdata_one(&BYTES_0_128[2], 0, &(DUID){0, 128, BYTES_1_128});
}
static void test_config_parse_hwaddr(void) {

View File

@ -1969,8 +1969,10 @@ static int call_dns(sd_bus *bus, char **dns, const BusLocator *locator, sd_bus_e
return bus_log_create_error(r);
r = sd_bus_call(bus, req, 0, error, NULL);
if (r < 0 && extended && sd_bus_error_has_name(error, SD_BUS_ERROR_UNKNOWN_METHOD))
if (r < 0 && extended && sd_bus_error_has_name(error, SD_BUS_ERROR_UNKNOWN_METHOD)) {
sd_bus_error_free(error);
return call_dns(bus, dns, locator, error, false);
}
return r;
}

View File

@ -136,6 +136,9 @@ static void test_cleanup_order(void) {
static void test_auto_erase_memory(void) {
_cleanup_(erase_and_freep) uint8_t *p1, *p2;
/* print address of p2, else e.g. clang-11 will optimize it out */
log_debug("p1: %p p2: %p", &p1, &p2);
assert_se(p1 = new(uint8_t, 1024));
assert_se(p2 = new(uint8_t, 1024));

View File

@ -49,7 +49,7 @@ static void test_clock_is_localtime(void) {
log_info("scenario #%zu:, expected result %i", i, scenarios[i].expected_result);
log_info("%s", scenarios[i].contents);
rewind(f);
ftruncate(fileno(f), 0);
assert_se(ftruncate(fileno(f), 0) == 0);
assert_se(write_string_stream(f, scenarios[i].contents, WRITE_STRING_FILE_AVOID_NEWLINE) == 0);
assert_se(clock_is_localtime(adjtime) == scenarios[i].expected_result);
}