pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: x11/xscreensaver 2026Q1 locks and no login (solved)





El 8/10/26 a las 12:33, Ramiro Aceves escribió:

I think I did sysctl -w kern.coredump.setid.dump=1 "on the fly" and
that way  or should it be configured in /etc/sysctl.conf.

xscreensaver drops almost immediately to the running user's ID, so it
might not be able to write to /var/crash. Do you get a crash dump if you
temporarily set kern.coredump.setid.path to something writable by your
user? Like this:

kern.coredump.setid.path=/tmp/%n.core


Thanks so much for the tip, hope to have some free time to play with it on saturday.
Regards.
Ramiro.




Hello!.

Today it is Saturday (Sábado) and xscreensaver-auth crashed as expected, saving core to /tmp worked fine! Thanks for the tip!

GDB pointed to:

work/xscreensaver-6.15/utils/utf8wc.c, line 378


        uc == 0xFF0D ||       /* FULLWIDTH HYPHEN-MINUS */

I changed char to unsigned char, recompiled, replaced package and it works fine showing "Sáb" in date.

old:
return (ispunct((char) uc) ||        /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */

new:
return (ispunct((unsigned char) uc) ||        /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */


full function after correction:


uc_ispunct (unsigned long uc)
{
  /* "Unicode Standard Annex #14, Line Breaking Algorithm"
     https://www.unicode.org/reports/tr14/
     ...is a lot.  But this is probably good enough?
   */
  return (ispunct((unsigned char) uc) ||        /* Posix: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ */
          uc == 0x002D ||       /* HYPHEN-MINUS */
          uc == 0x058A ||       /* ARMENIAN HYPHEN */
          uc == 0x05BE ||       /* HEBREW PUNCTUATION MAQAF */
          uc == 0x1400 ||       /* CANADIAN SYLLABICS HYPHEN */
          uc == 0x1806 ||       /* MONGOLIAN TODO SOFT HYPHEN */
          uc == 0x2010 ||       /* HYPHEN */
          uc == 0x2011 ||       /* NON-BREAKING HYPHEN */
          uc == 0x2012 ||       /* FIGURE DASH */
          uc == 0x2013 ||       /* EN DASH */
          uc == 0x2014 ||       /* EM DASH */
          uc == 0x2015 ||       /* HORIZONTAL BAR */
          uc == 0x2053 ||       /* SWUNG DASH */
          uc == 0x207B ||       /* SUPERSCRIPT MINUS */
          uc == 0x208B ||       /* SUBSCRIPT MINUS */
          uc == 0x2212 ||       /* MINUS SIGN */
          uc == 0x2E17 ||       /* DOUBLE OBLIQUE HYPHEN */
          uc == 0x2E1A ||       /* HYPHEN WITH DIAERESIS */
          uc == 0x2E3A ||       /* TWO-EM DASH */
          uc == 0x2E3B ||       /* THREE-EM DASH */
          uc == 0x2E40 ||       /* DOUBLE HYPHEN */
          uc == 0x2E5D ||       /* OBLIQUE HYPHEN */
          uc == 0x301C ||       /* WAVE DASH */
          uc == 0x3030 ||       /* WAVY DASH */
          uc == 0x30A0 ||       /* KATAKANA-HIRAGANA DOUBLE HYPHEN */
          uc == 0xFE31 ||       /* PRESENTATION FORM FOR VERTICAL EM DASH */
          uc == 0xFE32 ||       /* PRESENTATION FORM FOR VERTICAL EN DASH */
          uc == 0xFE58 ||       /* SMALL EM DASH */
          uc == 0xFE63 ||       /* SMALL HYPHEN-MINUS */
          uc == 0xFF0D ||       /* FULLWIDTH HYPHEN-MINUS */
          uc == 0x10EAD);       /* YEZIDI HYPHENATION MARK */
}









Regards.
Ramiro.


--
snow flurry <snow%flurry.sh@localhost>





Home | Main Index | Thread Index | Old Index