• utmp in trixie

    From Michael Stone@21:1/5 to All on Tue Apr 1 21:30:01 2025
    /run/utmp is no longer provided in trixie, which means that the
    mechanisms used to show active sessions in unix for several decades no
    longer work. There's a replacement mechanism provided by systemd, but
    it's not 1:1. I propose that for trixie *both* mechanisms are active, so
    a person can choose between them (and compare the output, to better
    identify gaps between the historic utmp mechanism and the new and
    improved systemd facility). I've been told that the reason this can't be
    done is that utmp isn't y2038 compliant, but it seems to me that we
    won't be supporting trixie in y2038, so who cares? Are there any factors
    to consider that I've missed?

    Mike Stone

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Craig Small@21:1/5 to Michael Stone on Wed Apr 2 09:10:01 2025
    Hi,

    On Wed, 2 Apr 2025 at 06:27, Michael Stone <[email protected]> wrote:

    /run/utmp is no longer provided in trixie, which means that the
    mechanisms used to show active sessions in unix for several decades no
    longer work. There's a replacement mechanism provided by systemd, but
    it's not 1:1.

    I'm the procps maintainer for both upstream and Debian. procps provides some
    of these tools that used to, or still can, use utmp.

    The Debian package and upstream with the --with-systemd configure option
    will
    both use and prefer the information provided by systemd over utmp (if both happen)
    to be available.)

    As to it being not 1:1, that's partly correct, but the longer answer is,
    well longer.
    * There are things that have just gone missing and aren't related to utmp,
    such as idle
    time.
    * If you compile procps without systemd and run it on a host with no utmp,
    you see 0 users.
    * There is also the fact you might not see *term users. This is because for systemd they are
    the same session, so you see it once. The issue with utmp is there are no
    rules so say
    gnome-terminal you'd see the user but kterm you won't (or vice-versa, I
    forget who does what).
    That is because, in a way, the right answer is it's a single user.
    * There might be some remote users that get missed, basically not visible
    via sd_session_get_remote_host()
    but are in ut_addr_v6 in the utmp struct. I'm not sure how common this is
    or why/if it happens; i suspect
    it is some pam_session brokenness/corner case.


    I propose that for trixie *both* mechanisms are active, so
    a person can choose between them (and compare the output, to better
    identify gaps between the historic utmp mechanism and the new and
    improved systemd facility). I've been told that the reason this can't be
    done is that utmp isn't y2038 compliant, but it seems to me that we
    won't be supporting trixie in y2038, so who cares? Are there any factors
    to consider that I've missed?


    Yes, there is definitely a Y2038 issue, there are also issues with utmp not being
    handled consistently and some security issues around who can do what to the file.

    For me and procps utils in Debian, we don't use utmp and don't need it.
    Having utmp
    there won't change the tools' outputs.

    If the project at large says they want the file to hang around, that's ok
    by me but
    it won't give ps/w/etc any more details.

    - Craig

    <div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi,</div><div><br></div><div dir="ltr">On Wed, 2 Apr 2025 at 06:27, Michael Stone &lt;<a href="mailto:[email protected]">mstone@
    debian.org</a>&gt; wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">/run/utmp is no longer provided in trixie, which means
    that the <br>
    mechanisms used to show active sessions in unix for several decades no <br> longer work. There&#39;s a replacement mechanism provided by systemd, but <br> it&#39;s not 1:1.</blockquote><div>I&#39;m the procps maintainer for both upstream and Debian. procps provides some</div><div>of these tools that used to, or still can, use utmp.</div><div><br></div><div>The Debian package and upstream with the --with-
    systemd configure option will</div><div>both use and prefer the information provided by systemd over utmp (if both happen)</div><div>to be available.)</div><div><br></div><div>As to it being not 1:1, that&#39;s partly correct, but the longer answer is,
    well longer.</div><div>* There are things that have just gone missing and aren&#39;t related to utmp, such as idle</div><div>time.</div><div>* If you compile procps without systemd and run it on a host with no utmp, you see 0 users.</div><div>* There is
    also the fact you might not see *term users. This is because for systemd they are</div><div>the same session, so you see it once. The issue with utmp is there are no rules so say</div><div>gnome-terminal you&#39;d see the user but kterm you won&#39;t (or
    vice-versa, I forget who does what).</div><div>That is because, in a way, the right answer is it&#39;s a single user.</div><div>* There might be some remote users that get missed, basically not visible via sd_session_get_remote_host()</div><div>but are
    in ut_addr_v6 in the utmp struct. I&#39;m not sure how common this is or why/if it happens; i suspect</div><div>it is some pam_session brokenness/corner case.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-
    left:1px solid rgb(204,204,204);padding-left:1ex">I propose that for trixie *both* mechanisms are active, so <br>
    a person can choose between them (and compare the output, to better <br> identify gaps between the historic utmp mechanism and the new and <br>
    improved systemd facility). I&#39;ve been told that the reason this can&#39;t be <br>
    done is that utmp isn&#39;t y2038 compliant, but it seems to me that we <br> won&#39;t be supporting trixie in y2038, so who cares? Are there any factors <br>
    to consider that I&#39;ve missed?<br></blockquote><div></div><div><br></div><div>Yes, there is definitely a Y2038 issue, there are also issues with utmp not being</div><div>handled consistently and some security issues around who can do what to the file.<
    /div><div><br></div><div>For me and procps utils in Debian, we don&#39;t use utmp and don&#39;t need it. Having utmp</div><div>there won&#39;t change the tools&#39; outputs.<br></div><div><br></div><div> If the project at large says they want the file
    to hang around, that&#39;s ok by me but </div><div>it won&#39;t give ps/w/etc any more details.<br></div><div><br></div><div> - Craig</div><div><br></div></div></div></div></div></div></div></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Stone@21:1/5 to Craig Small on Wed Apr 2 14:50:01 2025
    On Wed, Apr 02, 2025 at 05:52:13PM +1100, Craig Small wrote:
    Yes, there is definitely a Y2038 issue

    *for trixie*?

    there are also issues with utmp not
    being
    handled consistently and some security issues around who can do what to the >file.

    Stuff that has been true literally decades. If someone can turn off utmp
    if they want to, does this matter?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marco d'Itri@21:1/5 to Bill Allombert on Thu Apr 3 00:50:01 2025
    On Apr 02, Bill Allombert <[email protected]> wrote:

    Does that breaks the usual unix commands like 'who' ? If yes this is
    who(1) specifically, yes.
    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1079575 .
    Maybe the coreutils maintainer is already working to backport this
    simple patch in time for trixie, or else you could help him.

    dangerous. It is common to use them before deciding whether a host
    can be shut down.
    You may use w(1) for the time being.

    --
    ciao,
    Marco

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQnKUXNg20437dCfobLPsM64d7XgQUCZ+2+awAKCRDLPsM64d7X gbGbAQDelZLnpDnpSORirz2P4EbOWBvMbUDo4PIudA4JrQ4SAQEAuFBWwTAIgyxs 6qp3BUIRH7iZpNr2bNameeHmHmb5dAA=
    =sxC9
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Allombert@21:1/5 to All on Wed Apr 2 23:40:01 2025
    Le Tue, Apr 01, 2025 at 03:27:05PM -0400, Michael Stone a �crit :
    /run/utmp is no longer provided in trixie, which means that the mechanisms used to show active sessions in unix for several decades no longer work. There's a replacement mechanism provided by systemd, but it's not 1:1. I propose that for trixie *both* mechanisms are active, so a person can choose between them (and compare the output, to better identify gaps between the historic utmp mechanism and the new and improved systemd facility). I've
    been told that the reason this can't be done is that utmp isn't y2038 compliant, but it seems to me that we won't be supporting trixie in y2038,
    so who cares? Are there any factors to consider that I've missed?

    Does that breaks the usual unix commands like 'who' ? If yes this is
    dangerous. It is common to use them before deciding whether a host
    can be shut down.

    Cheers,
    --
    Bill. <[email protected]>

    Imagine a large red swirl here.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Craig Small@21:1/5 to Marco d'Itri on Thu Apr 3 13:50:02 2025
    On Thu, 3 Apr 2025 at 09:47, Marco d'Itri <[email protected]> wrote:

    On Apr 02, Bill Allombert <[email protected]> wrote:

    Does that breaks the usual unix commands like 'who' ? If yes this is
    who(1) specifically, yes.
    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1079575 .
    Maybe the coreutils maintainer is already working to backport this
    simple patch in time for trixie, or else you could help him.

    dangerous. It is common to use them before deciding whether a host
    can be shut down.
    You may use w(1) for the time being.

    w uses the systemd method by default now which is why it reports users.

    I thought there was upstream coreutils support for systemd in gnulib[1]
    which
    is what who uses, so in theory it's a configure change.

    I must admit I don't fully follow coreutils source so may have missed something.

    - Craig

    1: https://github.com/coreutils/gnulib/blob/bb506f75625b47d7844af2b6dc4b8192d4dea676/lib/readutmp.c#L981

    <div dir="ltr"><div dir="ltr">On Thu, 3 Apr 2025 at 09:47, Marco d&#39;Itri &lt;<a href="mailto:[email protected]">[email protected]</a>&gt; wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;
    border-left:1px solid rgb(204,204,204);padding-left:1ex">On Apr 02, Bill Allombert &lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt; wrote:<br>

    &gt;Does that breaks the usual unix commands like &#39;who&#39; ? If yes this is<br>
    who(1) specifically, yes.<br>
    See <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1079575" rel="noreferrer" target="_blank">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1079575</a> .<br>
    Maybe the coreutils maintainer is already working to backport this <br>
    simple patch in time for trixie, or else you could help him.<br>

    &gt;dangerous. It is common to use them before deciding whether a host<br> &gt;can be shut down.<br>
    You may use w(1) for the time being.<br></blockquote><div>w uses the systemd method by default now which is why it reports users.</div><div><br></div><div>I thought there was upstream coreutils support for systemd in gnulib[1] which</div><div>is what who
    uses, so in theory it&#39;s a configure change.</div><div><br></div><div>I must admit I don&#39;t fully follow coreutils source so may have missed something.</div><div><br></div><div> - Craig</div><div></div><div><br></div><div>1: <a href="https://
    github.com/coreutils/gnulib/blob/bb506f75625b47d7844af2b6dc4b8192d4dea676/lib/readutmp.c#L981">https://github.com/coreutils/gnulib/blob/bb506f75625b47d7844af2b6dc4b8192d4dea676/lib/readutmp.c#L981</a> <br></div><div><br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Antonio Terceiro@21:1/5 to Michael Stone on Thu Apr 3 15:00:02 2025
    On Tue, Apr 01, 2025 at 03:27:05PM -0400, Michael Stone wrote:
    /run/utmp is no longer provided in trixie, which means that the mechanisms used to show active sessions in unix for several decades no longer work. There's a replacement mechanism provided by systemd, but it's not 1:1. I propose that for trixie *both* mechanisms are active, so a person can choose between them (and compare the output, to better identify gaps between the historic utmp mechanism and the new and improved systemd facility). I've
    been told that the reason this can't be done is that utmp isn't y2038 compliant, but it seems to me that we won't be supporting trixie in y2038,
    so who cares? Are there any factors to consider that I've missed?

    I never cared about /run/utmp in itself, but I got used to last(1).
    FWIW, a new implementation of last is now provided by wtmpdb.

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEst7mYDbECCn80PEM/A2xu81GC94FAmfuhfkACgkQ/A2xu81G C9682RAAskciyChEMTzBjFJEcleJHdpZ+pnzA9rSeqyZD1MbAw/uFYdoWg9gS3bn CU1nxZivIDsOZRL4id0/t4RZ2oNgjZCXjpJz1hSdaiPHkjHdF6w9n0KcEt+Sz+oq cVjlz4uTq6/7A2Kd7UV+xaYbz4cY8tj4CfgFJv8y7TZY/OQi6WSP+LxKLGgnpHad Ui3XARlG+n14xejvWrpQxjosVXSwMTagf77NzgnLt6UJXvwkwJKSqx52ptpvUKTy mM130JSZIMqfHkvOpMUdi6Aa56CSeyntyRn3qeVn4Thpy6aaDCQecOwP5W+jz87j wwEcUagnV07YiCFc9f/ohzhBZw6OD+5wDKzxsIFE0u415purGJItEDxJ1A0oEI7z bGKID82jP6NEAwn9UUSFkzSjkSZ+WAp4uLk3af4F5OCXpFU4hRYsbUzzZKPEqi// 8m40LVMse6RhrXIqeYeDVgJ+DSvEa5+oe58JMyXr3YHdoSZ8vIRfyOv5k0GW7PhF ku6FmheNUO1KLnxaWWLYElvTeDtjUKb9YFr0i7Z2Em5BHJ3fNJvDgUJfbSgvExRH oGfrQq9C1qQlDnxTx8yM94X/sjgHfFBQcWOFRXluwjYwUhr/mGcbxISAiQVqOtni 8tKqZGDTc8GS50LIbvC/BzNBElHEcqVXM3jbnqcjQlE5gnZMEgg=
    =h6O9
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Stone@21:1/5 to Marco d'Itri on Thu Apr 3 15:40:01 2025
    On Thu, Apr 03, 2025 at 12:47:07AM +0200, Marco d'Itri wrote:
    On Apr 02, Bill Allombert <[email protected]> wrote:

    Does that breaks the usual unix commands like 'who' ? If yes this is
    who(1) specifically, yes.
    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1079575 .
    Maybe the coreutils maintainer is already working to backport this
    simple patch in time for trixie, or else you could help him.

    The issue isn't making a change, the issue is what change is the right
    thing to do. IMO, dropping utmp without any kind of a transition or
    deprecation period is the wrong thing to do. Hence this thread.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marco d'Itri@21:1/5 to Michael Stone on Thu Apr 3 20:00:01 2025
    On Apr 03, Michael Stone <[email protected]> wrote:

    The issue isn't making a change, the issue is what change is the right
    thing to do. IMO, dropping utmp without any kind of a transition or >deprecation period is the wrong thing to do. Hence this thread.
    I think it's a bit late now to disagree with the plan implemented last
    year by multiple maintainers.

    --
    ciao,
    Marco

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQnKUXNg20437dCfobLPsM64d7XgQUCZ+7KzAAKCRDLPsM64d7X gX+lAP9doi8AYkqFHXd7iMnFYKJ9FgE4XmnH5XaK7FHgtwBjEgEAqjINRM7TwamT PRzoIiRJ81bkRC80IsGJtbMK0iillgs=
    =TjMd
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Stone@21:1/5 to Marco d'Itri on Thu Apr 3 23:50:01 2025
    On Thu, Apr 03, 2025 at 07:52:12PM +0200, Marco d'Itri wrote:
    On Apr 03, Michael Stone <[email protected]> wrote:
    The issue isn't making a change, the issue is what change is the
    right thing to do. IMO, dropping utmp without any kind of a
    transition or deprecation period is the wrong thing to do. Hence
    this thread.
    I think it's a bit late now to disagree with the plan implemented last
    year by multiple maintainers.

    Except, of course, for the primary consumer of utmp...

    I'm the one who gets the complaints that who isn't working right, and
    there isn't a solution to that problem, since the systemd facility
    doesn't provide the same information. I'd argue that a lot of people
    didn't realize how screwed up things were going to be, because the
    change didn't impact normal use until after a reboot. So people have
    slowly been finding out over time that a decades-old interface is no
    longer available, and the answer "well, we decided to drop it" falls a
    little flat since there seems to be no actual reason to not just support
    both mechanisms.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Hofstaedtler@21:1/5 to All on Fri Apr 4 00:50:01 2025
    * Michael Stone <[email protected]> [250403 23:42]:
    On Thu, Apr 03, 2025 at 07:52:12PM +0200, Marco d'Itri wrote:
    On Apr 03, Michael Stone <[email protected]> wrote:
    The issue isn't making a change, the issue is what change is the
    right thing to do. IMO, dropping utmp without any kind of a
    transition or deprecation period is the wrong thing to do. Hence
    this thread.
    I think it's a bit late now to disagree with the plan implemented
    last year by multiple maintainers.

    Except, of course, for the primary consumer of utmp...

    I'm the one who gets the complaints that who isn't working right, and
    there isn't a solution to that problem, since the systemd facility
    doesn't provide the same information.

    From what I got from the coreutils bug is that coreutils upstream
    has the relevant code and it's supposed to work.

    Maybe it needs some additional work to fully function
    with current systemd versions. IIRC procps also only recently added
    some new code to deal with new systemd behaviours.

    But the thing that needs looking at is why who in Debian behaves
    like it does, and if it doesn't work right, fix that in who or
    wherever else it needs fixing in the stack.

    Reintroducing utmp will just hide the problem, and we'll be in the
    same situation when releasing forky, or forky+1, ...

    Chris


    PS: I never understood why there's both w and who, and why they are
    different implementations.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Craig Small@21:1/5 to Chris Hofstaedtler on Fri Apr 4 02:10:01 2025
    On Fri, 4 Apr 2025 at 09:46, Chris Hofstaedtler <[email protected]> wrote:

    Maybe it needs some additional work to fully function
    with current systemd versions. IIRC procps also only recently added
    some new code to deal with new systemd behaviours.

    That's right, we were counting sessions, not user sessions. There's an
    explicit check for it now.

    There's also w terminal mode that displays terminals not users, utmp kinda-sorta did this
    inconsistently. w drives it from the processes tty field so should capture
    them all.

    PS: I never understood why there's both w and who, and why they are
    different implementations.

    Ancient historical reasons that pre-date my involvement (< 1997). See also:
    why so many *kills

    - Craig

    <div dir="ltr"><div dir="ltr">On Fri, 4 Apr 2025 at 09:46, Chris Hofstaedtler &lt;<a href="mailto:[email protected]">[email protected]</a>&gt; wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px
    0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
    Maybe it needs some additional work to fully function <br>
    with current systemd versions.  IIRC procps also only recently added <br>
    some new code to deal with new systemd behaviours.<br></blockquote><div>That&#39;s right, we were counting sessions, not user sessions. There&#39;s an explicit check for it now.</div><div><br></div><div>There&#39;s also w terminal mode that displays
    terminals not users, utmp kinda-sorta did this</div><div>inconsistently. w drives it from the processes tty field so should capture them all.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(
    204,204,204);padding-left:1ex">
    PS: I never understood why there&#39;s both w and who, and why they are <br> different implementations.<br></blockquote><div>Ancient historical reasons that pre-date my involvement (&lt; 1997). See also: why so many *kills</div><div><br></div><div> - Craig</div><div> <br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Craig Small@21:1/5 to Michael Biebl on Fri Apr 4 02:20:01 2025
    On Fri, 4 Apr 2025 at 10:16, Michael Biebl <[email protected]> wrote:

    michael@mars:~$ loginctl
    SESSION UID USER SEAT LEADER CLASS TTY IDLE SINCE
    3 1000 michael seat0 2116 user tty1 no -
    4 1000 michael - 2125 manager - no -

    2 sessions listed.

    michael@mars:~$ who
    michael seat0 2025-04-02 16:38
    michael tty1 2025-04-02 16:38

    Should 'who' report what loginctl list-sessions or list-users reports?
    We (procps, w, etc) use the latter by checking the session class for
    "user*".
    Without that filter, the output looked a bit weird.

    It's probably best both who and w agree.


    - Craig

    <div dir="ltr"><div dir="ltr">On Fri, 4 Apr 2025 at 10:16, Michael Biebl &lt;<a href="mailto:[email protected]">[email protected]</a>&gt; wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.
    8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">michael@mars:~$ loginctl<br>
    SESSION  UID USER    SEAT  LEADER CLASS   TTY  IDLE SINCE<br>
           3 1000 michael seat0 2116   user    tty1 no   -<br>
           4 1000 michael -     2125   manager -    no   -<br>

    2 sessions listed.<br>

    michael@mars:~$ who<br>
    michael  seat0        2025-04-02 16:38<br>
    michael  tty1         2025-04-02 16:38<br></blockquote><div>Should &#39;who&#39; report what loginctl list-sessions or list-users reports?</div><div>We (procps, w, etc) use the latter by checking the session class for &quot;user*&quot;.</div><div></
    <div>Without that filter, the output looked a bit weird.</div><div><br></div><div>It&#39;s probably best both who and w agree.</div><div><br></div><div><br></div><div> - Craig</div><br></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Stone@21:1/5 to Chris Hofstaedtler on Fri Apr 4 03:30:01 2025
    On Fri, Apr 04, 2025 at 12:46:03AM +0200, Chris Hofstaedtler wrote:
    But the thing that needs looking at is why who in Debian behaves like
    it does, and if it doesn't work right, fix that in who or wherever
    else it needs fixing in the stack.

    Because I haven't turned it on, because I'm really unhappy about the
    complete lack of a transition plan.

    Reintroducing utmp will just hide the problem, and we'll be in the
    same situation when releasing forky, or forky+1, ...

    No we won't, if we publish a deprecation note, make both formats
    available, and make it possible to turn off utmp. Ideally who would have
    a flag that lets a user choose an implementation and compare the output,
    to make it easier to identify discrepencies. It could use utmp if
    available and query systemd if not, if no specific option is chosen.

    PS: I never understood why there's both w and who, and why they are
    different implementations.

    who is a posix standard utility for listing logged-in users, w is a
    mashup of uptime and finger that gives more of a system overview (from
    the perspective of what you'd want to know about a system 40 years ago).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Henrik Ahlgren@21:1/5 to Michael Stone on Fri Apr 4 11:10:01 2025
    Michael Stone <[email protected]> writes:

    I'm the one who gets the complaints that who isn't working right, and
    there isn't a solution to that problem, since the systemd facility
    doesn't provide the same information. I'd argue that a lot of people
    didn't realize how screwed up things were going to be, because the
    change didn't impact normal use until after a reboot.

    I think if a fix is not possible, who(1) should at least terminate with
    an error code (and possibly display an error message) rather than
    failing silently as it currently does. Of course, some forms like "who
    -b" still work.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Haber@21:1/5 to All on Fri Apr 4 15:50:01 2025
    On Thu, 3 Apr 2025 17:41:46 -0400, Michael Stone <[email protected]>
    wrote:
    On Thu, Apr 03, 2025 at 07:52:12PM +0200, Marco d'Itri wrote:
    On Apr 03, Michael Stone <[email protected]> wrote:
    The issue isn't making a change, the issue is what change is the
    right thing to do. IMO, dropping utmp without any kind of a
    transition or deprecation period is the wrong thing to do. Hence
    this thread.
    I think it's a bit late now to disagree with the plan implemented last
    year by multiple maintainers.

    Except, of course, for the primary consumer of utmp...

    I'm the one who gets the complaints that who isn't working right, and
    there isn't a solution to that problem, since the systemd facility
    doesn't provide the same information. I'd argue that a lot of people
    didn't realize how screwed up things were going to be, because the
    change didn't impact normal use until after a reboot. So people have
    slowly been finding out over time that a decades-old interface is no
    longer available, and the answer "well, we decided to drop it" falls a
    little flat since there seems to be no actual reason to not just support
    both mechanisms.

    Can your package handle the classic on-disk format when it is compiled
    with 64 bit time_t? I remember there was some discussion about that
    back then.

    Greetings
    Marc
    --
    ---------------------------------------------------------------------------- Marc Haber | " Questions are the | Mailadresse im Header Rhein-Neckar, DE | Beginning of Wisdom " |
    Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 6224 1600402

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Stone@21:1/5 to Marc Haber on Fri Apr 4 17:40:01 2025
    On Fri, Apr 04, 2025 at 03:43:03PM +0200, Marc Haber wrote:
    Can your package handle the classic on-disk format when it is compiled
    with 64 bit time_t? I remember there was some discussion about that
    back then.

    If you touch /run/utmp you'll see it is still working fine with any
    packages that haven't ripped out support.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Stone@21:1/5 to Dirk Lehmann on Fri Apr 4 22:20:01 2025
    On Fri, Apr 04, 2025 at 09:10:42PM +0200, Dirk Lehmann wrote:
    On 4/3/25 2:58 PM, Antonio Terceiro wrote:
    I never cared about /run/utmp in itself, but I got used to last(1).
    FWIW, a new implementation of last is now provided by wtmpdb.

    +1

    great, it looks like that

    * wtmpdb(8)

    could be a well alternative to who(1), as the discussed alternatives

    wtmp goes with last, utmp goes with who; they have different semantics

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew Bower@21:1/5 to Dirk Lehmann on Fri Apr 4 23:30:02 2025
    Hi Dirk,

    On Fri, Apr 04, 2025 at 09:10:42PM +0200, Dirk Lehmann wrote:
    On 4/3/25 2:58 PM, Antonio Terceiro wrote:
    I never cared about /run/utmp in itself, but I got used to last(1).
    FWIW, a new implementation of last is now provided by wtmpdb.

    +1

    great, it looks like that

    * wtmpdb(8)
    [...]
    The program arguments are not fully compatible with Unix equivalent
    last(1). I.e. it seems not to be possible to just filter out all
    current still active sessions, which should be provided by `last -p`
    in the Unix world.

    Presumably you used 'last -p now' for this? It looks like this would be satisfied by a richer range of accepted time specifications by wtmpdb.
    Do you want to raise a bug? Worth adding if there is anything else
    defective (it looks to me that crashed sessions get included, which
    seems unhelpful).

    Andrew

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEMKYZL6LI55lncG11uqgO2W94h+kFAmfwS4YACgkQuqgO2W94 h+n6eQ/9Hj+8OgfMfndWLiTn5Pav5wL6nGtsFAt000zqiSC7h1TfEpl/ao/fAHal xk7E0zK2zIz677bJo+7VtdjW/EFZjLdL2iMeiJfb8woA89ZUsxQudCn4v9YTzO4M kroM4H1seM/511c3wwMaoCRKtjw1vH4UUOHE1HFN2VzmyA5G0ShLXGfdwMSlNWUH JCErnRu1x0esUsOND+gdTKDABV6e8Oi1qBEbd4EnpGqFbGvStshI5QaCBqknQMN4 lNKgXV8dIpeNkhGfKjLGiXgm0aQbC+bZaYAXSASMeuhMGOuqYBFKUUpcpfGeBRFw nk8w3J4ZYa9Q+6lJS3AQgAUfJZKUV6djofbRrl5keB6vgccBQLTcLPu6Eh1edZy+ 1o/dMUTgIKJQKALUOs7C/B+0D6/XgTcQcKAOHSngzYkfRLUBc1yQOwEoMbhrogVo LeRLY4XRWpbKGEMPFMiDwDhJaa9xsEfIfmEa2aFDkVQAebYdygPItik21VxWpooI 1IYPWUgnNih+NOGf0BGpjcC/Iy2oKhI2/hsbpeTnimWicJ46tnVEWd0S79MubahI W3vbIBeqBToA7iCAZlAg2Gbo1unuPvosIRGHKmfrVrtzlqrAT5TySWrkG6NBHt+M bisZm7Sn2eo1b2mLH7IEerylLMqK8ALjs7m+FRiIEbUkfhUZEDY=
    =8TnS
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)