Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new ppp release ? #111

Closed
joakim-tjernlund opened this issue Jan 16, 2019 · 167 comments
Closed

new ppp release ? #111

joakim-tjernlund opened this issue Jan 16, 2019 · 167 comments

Comments

@joakim-tjernlund
Copy link

The last ppp release was quite some time ago. Is a new one forthcoming ?

@hansfn
Copy link

hansfn commented Mar 26, 2019

Yes, a new release is very much needed - ppp no longer compiles on Gentoo.

This has been fixed in commit 3c7b862 - "pppd: Use openssl for the DES instead of the libcrypt / glibc".

Please consider creating a new release ASAP.

@kloczek
Copy link

kloczek commented Apr 3, 2019

Yes, a new release is very much needed - ppp no longer compiles on Gentoo.

Part of the problems of the ppp as the project is completely crappy and custom made set of makefiles and custom configure script.
It would be good to move to even autoconf/automake/libtool.
It would be good to know it that kind of ppp improvements would be welcome by maintainer or not.

@Neustradamus
Copy link
Member

Neustradamus commented Sep 2, 2019

+1 (since 2014)

Note: There are patches here: https://www.nikhef.nl/~janjust/ppp/

Please look this ticket: #131

EDIT : Merged, good job @jjkeijser!

@kloczek
Copy link

kloczek commented Sep 26, 2019

I'm begging to make new ppp release :/

@Neustradamus
Copy link
Member

@paulusmack, @joakim-tjernlund, @hansfn, @kloczek: What do you think for an official perfect build?

@joakim-tjernlund
Copy link
Author

A release would be great but seems like github is not the place Paulus wants to discuss, see
347904e

@paulusmack
Copy link
Collaborator

Right. I do prefer mailing lists (i.e. the linux-ppp@vger.kernel.org list).

However, since we're here, do you all think the tree in its current state is releaseable, or are there things that must be fixed before release?

@kloczek
Copy link

kloczek commented Oct 1, 2019

Paul,

Please understand that asking to subscribe on mailing list to ask the question is kind of overkill.

Mailing lists are OK in case of long term commitment to join the project. For anything else github issue tickets are all what is needed.
Many github projects already abandoned even mailing list and they are using issues tickets as topics to discuss.
You can have look on https://github.com/att/ast/issues/ to see how it works.
It is better because it allows automatically connect discussions with already submitted patches, tickets or content of the projects (if github module has entries in projects tab).
Using that way everything is easy to track and additionally in one place.

@kloczek
Copy link

kloczek commented Oct 1, 2019

So going back to the subject: do you have any plans to make new release soon? :)

@Neustradamus
Copy link
Member

Neustradamus commented Oct 1, 2019

@paulusmack: The list is a big mess...

Can you look for integrate patches here too? https://www.nikhef.nl/~janjust/ppp/

Please look this ticket: #131

EDIT : Merged, good job @jjkeijser!

@paulusmack
Copy link
Collaborator

@paulusmack: The list is a big mess...

What list? The mailing list, or are you referring to some list of patches, or some other list?

Can you look for integrate patches here too? https://www.nikhef.nl/~janjust/ppp/

That's rather large. I would need a signoff at least. I would also want James Carlson to review and ack it. Please post it to linux-ppp (with a Signed-off-by, and a From: line if you are not the author) so he sees it. Please also consider splitting it, if that would make a series of logical steps that are easier to review.

@paulusmack
Copy link
Collaborator

It would be good to move to even autoconf/automake/libtool.

Puke. My experience of autoconf/automake has been that their output is verbose, unreadable and undebuggable. For a small project like ppp that only supports Linux and Solaris there isn't a lot that needs to be configured, so I prefer something that's simple and direct and understandable.

@paulusmack
Copy link
Collaborator

So going back to the subject: do you have any plans to make new release soon? :)

Yes, I would like to make a new release soon. The question is whether I just release what's in the tree now, or if there are some patches that are really needed before release.

@lygstate
Copy link

@paulusmack I suggest release a version first, and then bugfixes it

@paulusmack
Copy link
Collaborator

I propose to release the tree as it currently is (plus updates to README and pppd/patchlevel.h) as ppp-2.4.8 shortly.

@joakim-tjernlund
Copy link
Author

Feels OK, further fixes/features can go into 2.4.9

@joakim-tjernlund
Copy link
Author

Maybe add #53 too?
Fixing the CFLAGS/LDFLAGS is something many distros need I think.

@kloczek
Copy link

kloczek commented Dec 30, 2019

IMO priority for now should be first release all already committed changes than as often as possible release all pending things in smaller chunks.

@paulusmack
Copy link
Collaborator

I'm going to do another release soon with the CVE fix. I am not going to merge any of the EAP patches for this release, as they are all fairly large and all need more review. I have merged a few small and safe fixes and I could add some more as long as they are obviously correct.

@kloczek
Copy link

kloczek commented Mar 21, 2020

If may I ask you to have look on all Fedora parches https://src.fedoraproject.org/rpms/ppp/tree/master

@xosevp
Copy link

xosevp commented Jul 11, 2020

@kloczek

If may I ask you to have look on all Fedora parches https://src.fedoraproject.org/rpms/ppp/tree/master

There is also a lot of pending patches, at least, in Debian and OpenWrt:

Debian (individual patches in debian/patches/ ):
git clone https://salsa.debian.org/debian/ppp.git debian

OpenWrt (individual patches in package/network/services/ppp/patches/ ):
git clone https://git.openwrt.org/openwrt/openwrt.git openwrt

Fedora:
git clone https://src.fedoraproject.org/rpms/ppp.git fedora

@paulusmack
Copy link
Collaborator

@kloczek

If may I ask you to have look on all Fedora parches https://src.fedoraproject.org/rpms/ppp/tree/master

There is also a lot of pending patches, at least, in Debian and OpenWrt:

Debian (individual patches in debian/patches/ ):
git clone https://salsa.debian.org/debian/ppp.git debian

OpenWrt (individual patches in package/network/services/ppp/patches/ ):
git clone https://git.openwrt.org/openwrt/openwrt.git openwrt

Fedora:
git clone https://src.fedoraproject.org/rpms/ppp.git fedora

Thanks for the references, that is helpful.

While there are some patches in those repos that I can (and will) apply, most of the patches in those distro packages are generally not up to the standard that I want:

  • They usually don't have any authorship information or Signed-off-by line

  • They usually don't have any description at all explaining what is being fixed or why this is a good change to make

(The openwrt patches do seem to be better than most in these respects.)

@xosevp
Copy link

xosevp commented Jul 13, 2020

@kloczek

If may I ask you to have look on all Fedora parches https://src.fedoraproject.org/rpms/ppp/tree/master

There is also a lot of pending patches, at least, in Debian and OpenWrt:
Debian (individual patches in debian/patches/ ):
git clone https://salsa.debian.org/debian/ppp.git debian
OpenWrt (individual patches in package/network/services/ppp/patches/ ):
git clone https://git.openwrt.org/openwrt/openwrt.git openwrt
Fedora:
git clone https://src.fedoraproject.org/rpms/ppp.git fedora

Thanks for the references, that is helpful.

While there are some patches in those repos that I can (and will) apply, most of the patches in those distro packages are generally not up to the standard that I want:

* They usually don't have any authorship information or Signed-off-by line

* They usually don't have any description at all explaining what is being fixed or why this is a good change to make

(The openwrt patches do seem to be better than most in these respects.)

@bootc
@yarda
@nbd168

Added current maintainers to the thread: Chris Boot(debian), Jaroslav Škarvada(fedora) and Felix Fietkau(openwrt)

@kloczek
Copy link

kloczek commented Jul 13, 2020

First it would be good to make new release ASAP with what is already commuted.
Better do some progress in some more frequent but smaller steps :)

Problem is so far maintainer is not responding (hopefully he is just only busy :) )

@Neustradamus
Copy link
Member

@bootc (Debian), @yarda (Fedora), @nbd168 (OpenWrt), @dmbaturin (VyOS) and others: Guys, can you create a PR with your patches?

It will be nice to have directly in the next build?

Thanks in advance.

@dmbaturin
Copy link
Contributor

@Neustradamus #101 is the only remaining significant difference between our package and the upstream.

@Neustradamus
Copy link
Member

Neustradamus commented Nov 9, 2020

Dear all,

I think, it is time to speak about all your patches in your OS.
Several OS have same patches...
Talk here, and can you see to create a PR by patch?

Please verify before if it is not already here, and if yes, please comment to inform that it is needed and specify the period used:

Note: https://github.com/paulusmack/ppp/blob/master/Submitting-patches.md

Thanks in advance.


Adélie Linux: @awilfox

Alpine Linux: @ncopa / @kaniini

ALT Linux: @shaba

Arch Linux: @foutrelis, @antonio-rojas, @felixonmars, @allanmcrae

AUR (Arch Linux User Repository):

AUR (Arch Linux User Repository) (Other):

Debian: @sthibaul + @bootc

Entware: @zyxmon + @The-BB + @ryzhovau

Fedora: @yarda + @msekletar

Gentoo: @Polynomial-C

KaOS: @demmm

KISS Linux: @onodera-punpun

OpenEmbedded / Yocto: @rpurdie + @jku + @jackiehjm + @hongxu-jia + @ChenQi1989 + @bluelightning + @shr-project + @mtdcr + @rpjday + @koenkooi + @yoctopidge + @kanavin + @yizhao1 + @kraj + @rossburton + @jekhor + @saulwold + @mhatle

OpenMandriva: @tpgxyz + @berolinux

OpenSUSE: @rma-x + @IlyaIndigo + @DimStar77 + @pgajdos + @andreasstieger + @andreas-schwab + @thkukuk

Rosa: @fedya + @andrewlukoshko

SliTaz: @pankso + @lexeii

Solus: @JoshStrobl

T2 SDE: @rxrbln:

Ubuntu: @bootc + @andigor

VyOS: @dmbaturin

Repology:

@IlyaIndigo
Copy link

I do not have a desire to do PR for the project, where PRs have been hanging for more than 6 years.
To the author of the ppp, apparently. they are not needed at all.

@dmbaturin
Copy link
Contributor

@Neustradamus For the record, our "ppp-debian" repo is just Debian's upstream with the patch from #101 and some misc security fixes that are already offered in other PRs. Once #101 is merged we'll be able to switch to the upstream version.

@IlyaIndigo This is a rather uncomfortable discussion, but I do believe that if Paul doesn't have time and motivation to maintain the package, he should add someone to the repo owners. In the current situation, I can't see any of the semi-forks becoming a new de facto standard—none of them has enough momentum by itself.

In new VyOS releases, we switched from pppd to https://github.com/xebd/accel-ppp for the L2TP/PPTP/PPPoE servers: it offers great performance and it has maintainers passionate about it. I'm pretty sure there's someone equally passionate about the original ppp who can take up the maintenance work, given enough permissions to do that.

@pgajdos
Copy link

pgajdos commented Nov 9, 2020

OpenSUSE:

* Reinhard Max (Not found on GitHub) + @IlyaIndigo + @DimStar77 + @pgajdos + @andreasstieger + @andreas-schwab + @thkukuk: http://rpmbase.ru/linux/RPM/opensuse/ports/tumbleweed/ppc64/ppp-2.4.8-1.1.ppc64.html

* https://software.opensuse.org/package/ppp

I have notified Reinhard about this issue.

@Neustradamus
Copy link
Member

Today, one year after 2.4.9 and a lot of contributions for a new release!

Hope merging of current PRs and and hope to have a new PR from @EasyNetDev with this contribution before the new build.

@enaess: When you will have time to look?

cc: @paulusmack.

@enaess
Copy link
Contributor

enaess commented Jan 7, 2022

@Neustradamus time to look for what exactly?

I likely won't be able to do any significant work before mid February at this point.

@Neustradamus
Copy link
Member

@enaess: Have you looked?: "Just haven't had the time to work on it :-"

@EasyNetDev.: Have you looked for your PR?

If not, maybe @paulusmack can now release the new version after several months?

There is a new PR and new tickets:

@Neustradamus
Copy link
Member

@ALL OS PPP maintainers, if you have done a or several patches which are not in master, please look to add PR in upstream.

@jkroonza
Copy link
Contributor

jkroonza commented Aug 19, 2022

@Neustradamus I agree it's time for a next release. Could you please indicate expected time lines?

Would it be possible to consider my suggestions here? Happy to write the code if it'll be considered, and can be done within your expected time lines. I don't want to be the cause of additional delay.

@Neustradamus
Copy link
Member

@jkroonza: I do not know, it is a recall to all devs ^^

The project is managed by @paulusmack, but I think soon...
I hope that he will look your PR and comments...

Normally the build has been planned a long time ago, January 2022 but one PR has been changed it...
Maybe you can help @EasyNetDev with #289.

@jkroonza
Copy link
Contributor

Would love to, time is constrained at the moment so interface naming isn't particularly high on our list of priorities unfortunately. Happy to tack that onto my list but that won't be able to receive attention in the next while unfortunately.

@lheckemann
Copy link

lheckemann commented Aug 19, 2022

nixpkgs currently carries these patches:

@jkroonza
Copy link
Contributor

nixpkgs currently carries these patches:

* https://github.com/NixOS/nixpkgs/blob/d167d23b40a7e3439d8458dff20e18beb22ed3d9/pkgs/tools/networking/ppp/nix-purity.patch
  This isn't upstreamable as is, but using pkg-config or providing make variables to specify openssl's header and library locations instead of relying on it living in /usr could make it unnecessary;

Does this still apply to master? I can't find a Makefile.linux of any kind in the tree. And ./configure contains the logic you're looking to implement via --with-openssl= here (you can hand it a path, or it'll try the usual culprits, but yes, trying pkg-config first may not be a bad idea in the case of --with-openssl=yes, it looks like pkg-config is tried only after the check the set of paths has failed. So some logic improvements may be considered here, but IMHO is probably overkill.

The comments in ./configure are stating that pkg-config is preferred, but looking at the actual code that's not the case.

* https://github.com/NixOS/nixpkgs/blob/d167d23b40a7e3439d8458dff20e18beb22ed3d9/pkgs/tools/networking/ppp/nonpriv.patch
  which I don't think is actually correct..? This was introduced in 2012 and we should probably drop it.

No, that seems very, very wrong, basically privileged = true there :). Ie, non-root users have privileges of root.

@kanavin
Copy link
Contributor

kanavin commented Aug 19, 2022

@lheckemann
Copy link

Does this still apply to master? I can't find a Makefile.linux of any kind in the tree.

It does apply to 2.4.9:
https://github.com/ppp-project/ppp/blob/4fb319056f168bb8379865b91b4fd3e1ada73f1e/pppd/Makefile.linux

But yes, it looks like we'll have to revise that for a new release anyway since it's indeed no longer present on master.

No, that seems very, very wrong, basically privileged = true there :). Ie, non-root users have privileges of root.

Indeed. I just found the justification for it:

    # Without nonpriv.patch, pppd --version doesn't work when not run as root.

Even if that's the case, this is certainly the wrong approach and I'll remove it.

@jkroonza
Copy link
Contributor

Does this still apply to master? I can't find a Makefile.linux of any kind in the tree.

It does apply to 2.4.9: https://github.com/ppp-project/ppp/blob/4fb319056f168bb8379865b91b4fd3e1ada73f1e/pppd/Makefile.linux

But yes, it looks like we'll have to revise that for a new release anyway since it's indeed no longer present on master.

Don't think you have to, ./configure already does what you need, so you might just need to adjust your ./configure arguments.

No, that seems very, very wrong, basically privileged = true there :). Ie, non-root users have privileges of root.

Indeed. I just found the justification for it:

    # Without nonpriv.patch, pppd --version doesn't work when not run as root.

Even if that's the case, this is certainly the wrong approach and I'll remove it.

jkroon@plastiekpoot ~ $ pppd --version
pppd version 2.4.9

Doesn't seem to be a problem on at least 2.4.9. Quick glance at the code agrees, no special privileges should be required.

@Neustradamus
Copy link
Member

@kanavin: I think yes, it has been removed:

Note: when we search IPX in code:

@jkroonza
Copy link
Contributor

Yocto project currently carries this: https://git.yoctoproject.org/poky/plain/meta/recipes-connectivity/ppp/ppp/0001-ppp-fix-build-against-5.15-headers.patch Should it be submitted?

Will also no longer apply. And I think you're sorted:

commit c2881a6b71a36d28a89166e82820dc5e711fd775
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Thu Jan 13 06:48:14 2022 +0000

    pppd: Drop linux IPX support (#326)
    
    The 5.15 Linux kernel has removed ipx support, along with the userspace
    visible header. This support wasn't very well maintained in the kernel
    for several years so drop the support from ppp as well since this won't
    be usable in future.
    
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

There are still references in the sources to IPX if you grep -ri ipx in there, but I suspect these can for the most part safely remain. I would suggest that these all be removed, except for the README which should probably be updated to mention that IPX is no longer supported since 2.5.0 (or whatever the new release version will be). Perhaps the stuff in options.c was left specifically to still allow "noipx" to be passed, but (in my personal opinion) that's counter-productive since that implies there may still be support, which there is not, and perhaps a warning to be output is more appropriate. Basic support to recognise the protocol should the remote try to initiate should be fine, basically warn locally that the remote is looking to bring up IPX and then nack the protocol. If noipx is passed on a cli a similar warning may be more suitable that simply setting to option locally and then not doing anything it.

@Neustradamus
Copy link
Member

Neustradamus commented Dec 27, 2022

I think last PRs before the new build will be:

@jkroonza
Copy link
Contributor

@Neustradamus I actually concur with the decision to keep things blocking a new release minimal, however, may I please request consideration of #367 - or at least guidance on required, and if I can get that ready prior to confirmed merge of above PRs to be considered? We're already using that in productio, and so far it solves all the issues we picked up with earlier versions of the patches which lead to that, and I believe most of the concerns raised were addressed in one way or another, but I'm happy to take further consideration into regards, I do think there are other concepts I would have LIKED to implement mentioned there, but I do not believe those are practical, for reasons indicated in same PR.

@carlsonj
Copy link
Contributor

carlsonj commented Dec 29, 2022 via email

@jkroonza
Copy link
Contributor

I'm a little confused by the intent of this change (#367).

OK.

There are a couple of reasons that the sifup/sifdown paths (which are by design intended ONLY to set flags, not to run scripts) are separated. One is that different platforms have different ways to represent multiple addresses on a given interface. This is a place where I think Solaris differs substantially from Linux. Solaris has "logical interfaces." A logical interface is the entity that holds the address and a set of independent flags for EACH address. That is, unlike Linux, each network layer protocol (actually each address) can be marked up or down independently.

Right. I was not aware of this. Does that actually happen that way? Because the various functions simply marks the interface up/down in the case of pppd, not a specific protocol/address here.

On Solaris, the SIOC[SG]IF* ioctls and the SIOC[SG]LIF* ioctls are different. The [SG]IF ioctls deal with legacy-style BSD-ish interfaces (dating back to SunOS 4.x days), while the [SG]LIF ioctls deal with logical interfaces. In the proposed change, all of the "LIF" handling has been deleted from the code base. I haven't tested this, but I wouldn't be surprised if this caused problems.

I can only test on Linux unfortunately. I looked at the code, and as far as I could determine, the code which was removed was 100% identical. I could have missed something. The primary aim here was to have a consolidated if up/down interface, which then did all the common work, around dispatching to the OS specific functions. Not to change behaviour, but to enable adding OS and protocol-independent up/down work to interfaces without having to do this in multiple places.

(The ioctl split exists in order to maintain binary compatibility with SunOS applications.) For example, on a Solaris 11 machine, I see this: lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 net0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.50.31.94 netmask ffff0000 broadcast 10.50.255.255 ether 8c:73:6e:c0:e:8a lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 net0: flags=20002004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2 inet6 fe80::8e73:6eff:fec0:e8a/10 ether 8c:73:6e:c0:e:8a net0:1: flags=20002004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2 inet6 fd48:3e6a:e278::e30/128 Things to note in this example (sorry about the line wrap): there are two distinct instances of "net0." They are distinguished by address family. And there's a separate "net0:1" logical interface that was created by DHCPv6 and is managed by that protocol. And for IPv6, in general, only the LIF ioctls will work on Solaris, due to the change in interface (wider values in the ioctl data structure). As for the rest of the change, I'm not sure I follow what the ultimate architectural goal of this might be. To me, each NCP is (somewhat unfortunately) different in terms of what it actually negotiates and what the units of currency are. This means that, for instance, IPv4 negotiates distinct endpoint addresses that are used at the application layer, but IPv6 negotiates only the IDs used for link-locals (which no application should touch), and MPLS has no addresses at all (LDP does that).

OK, so the question here is if it's possible to UP and/or DOWN the IPv4 vs IPv6 net0 interfaces (and even net0:1 independently of net0)? Based on what you stated, it sounds like a "yes it can", but can you please confirm? From what I recall the pppd code most certainly did not do that. And in fact, there was quite a bit of confusing stuff around upping and downing interfaces, and it looked like it's possible for IPv6 to tear down, and bring down the entire interface (ie, ifdown) without actually tearing down LCP as a whole, leaving pppd in a situation where it could consider IPv4 and MPLS etc to be "up", but due to the interface being down it's actually down. If you're right (I'm not saying you're wrong, just looking to understand better) about the way solaris handled this then I'm way off base and will probably need to rethink this a bit.

And that's ignoring other more exotic protocols such as AppleTalk that negotiate a separate network number and node address. All of this means that the environment variables and the command line arguments (again, unfortunately) differ for these external scripts, and is another reason these code paths are separate. I don't see what the grand script unification does except maybe cause compatibility issues. Moreover, there's no notion in PPP of having reached a stage of "fully up." Any link can bring up or tear down an NCP at any time, so if the ultimate goal is to get to a point where we can just invoke one "I'm up" script, I don't think that can be done in any coherent way.

I think this touches on some of the discussion and issue points. So what I desperately want is an init script to execute right at the start of pppd (net-init as implemented in that PR), then scripts to execute just before upping the interface (protocol independent, net-preup, after auth, but prior to setting the interface up), and then to execute when tearing down (less critical, but we do have lated ifb interfaces used for shaping ingress traffic from the ppp interfaces which needs to be torn down too).

(I'm not sure if that's where this was going, but just a guess.) Some minor issues:

  • If we're going to delete 'unit' numbers, let's not do it piecemeal. Let's have a single change that nukes them all, rather than a series of changes that arbitrarily yank them from one old interface or another. I'm fine with removal of that, as it was used only be a few odd non-public branches of the code, and is hard to maintain correctly when "nobody" is using it. I'm just not fine with incremental breakage; it seems unprincipled to me. (As this change is doing with sifup et al. Yes, I know it's not just this change; this is a pet peeve.)

Wasn't my intention to break anything, and I did take as much care as I could to maintain backwards compatibility. I do agree with your pet peeve and I can only state that was not my intention. You reference 'unit' numbers here specifically, I do recall yanking certain parameters which I think could have been unit numbers, they were yanked from functions I was modifying where to the best of my ability to determine they were not being used anyway. You reference "odd non-public branches" that may have used them, of this I was not aware. I also didn't spot specific other places in the (fairly large) codebase where they could be removed, but I could well have missed stuff, obviously, which is why we have reviews of code before merging :).

  • Definitely agree with the other commenters saying that comparing static strings by address only is not a good idea. It saves almost nothing in execution time, and opens up a neat hole for someone else to fall into by way of a bad compilation flag, a new pppd plugin, or some other contrivance. I don't see why this mechanism is so complex, when we already have per-NCP registration mechanisms for the FSM and this sort of state information could be carried there, but if it must be separate and must be done with a global array, then at least use strcmp.

OK, so add this to the per protocol structure is what I'm getting? This may also allow the one requested additional feature called net-up to be invoked once all protocols have been brought up.

The one other requested change was to only actually up the interface once all desired protocols have been negotiated and brought up, but as stated, that would require changes to most sub protocols which can obviously be done. Specifically, sub protocols would need to signal "configuration done, ready to be upped, please call this callback when interface is up". This can be done, and I'm happy to put in the effort for the in-tree protocols. I would, however, recommend that this be configurable behaviour.

If we're going that far, I'd further recommend that any and all other pre-up scripts be nuked, since already they have no guarantee that the interface is actually still down. Alternatively, we need to follow the above methodology and enforce that.

This is perhaps a bigger change than what should be merged at this point though, and could cause further delays to an overdue ppp release.

  • I saw some discussion on the issue of running the "down" script before the link goes down. It might seem nice to run the script before a locally-initiated tear-down starts, but that should never be given as a feature to the user, because there's no general way to make it work. The other end can terminate at any time, and in practice the network connection itself may well have ended before any sort of notification is received (which may also come in the form of a simple loss of carrier). So, sure, if you can invoke it early, and believe it to be important, then do so, but don't advertise it too strongly in any documentation or suggest that anyone should rely on it. (For what it's worth, I like interfaces that give consistent semantics rather than "helpful" ones. In other words, I'd prefer to see the "down" script run after the link goes down in all cases, so users can't become dependent on happenstance. But I guess others may differ or have particular limited usage cases in mind.)

Agreed about the consistency, will gladly make this change. They way I understood it was that locally the interface will still reflect UP, but I do agree with you, it will already no longer be operational if remote side tears down, so conceding to rather execute post down. This was a debate in my head and honestly it doesn't particularly matter that much.

Appreciate your inputs, I'll copy this discussion to that PR to be furthered there, so that the actual release can be discussed here, rather than alternative PRs.

@carlsonj
Copy link
Contributor

carlsonj commented Dec 30, 2022 via email

@jkroonza
Copy link
Contributor

jkroonza commented Jan 3, 2023

Drop #367 from a new release, I'll see if I can clean that up for a future release rather.

@Neustradamus
Copy link
Member

From @paulusmack: "I think the tree is ready for release. Last call for anything that really needs to be fixed before 2.5.0..."

@paulusmack
Copy link
Collaborator

2.5.0 is out now.

@Neustradamus
Copy link
Member

Hello all,

About 2.5.0:

@bootc, @rfc1036, @sthibaul: Any progress for Debian?

@nbd168: It is in progress for OpenWrt by @icegood:

@yarda, @AdamWill, @Athwale: Fedora OK

@nekopsykose, @WhyNotHugo, @ncopa, @oliv3r, @kaniini, @maxice8, @nero, @jirutka, @kunkku, @vakartel, @fabled, @clandmeter: Alpine OK

@thesamesam, @juippis, @arthurzam, @floppym, @SoapGentoo, @jsmolic, @asarubbo, @xen0n, @inode33, @ulm, @dm0-, @Zlogene: Gentoo OK

@demmm: KaOS OK

@Chocobo1: AUR (Arch Linux User Repository) OK

@rpurdie, @kanavin, @rossburton, @zeddii, @rpjday, ...: OpenEmbedded / Yocto OK

@rxrbln: T2 SDE OK

@peterhoeg, @yu-re-ka, @Artturin, @alyssais, @mweinelt: NixOS OK

CRUX OK

Thanks to all people who have updated PPP version in OS...

@rfc1036
Copy link
Contributor

rfc1036 commented Jun 14, 2023

The debianization of 2.5.0 has been on https://salsa.debian.org/debian/ppp/-/merge_requests/12 for two months, but I have never received any feedback from @bootc, who is the maintainer.

@sthibaul
Copy link
Contributor

The problem with gitlab is that by default you don't necessarily get a notification of a new merge request etc. It's probably worth reaching the maintainer by mail to make sure that he did get a notification.

@nekopsykose
Copy link

please don't ping dozens of people just to say "OK", thanks

@Neustradamus
Copy link
Member

@nekopsykose: Maybe you have not seen the last sentence: "Thanks to all people who have updated PPP version in OS..." :)

Thanks @rfc1036 and @sthibaul for your answer, I have commented the @rfc1036 PR...

@Neustradamus
Copy link
Member

Dear all,

@paulusmack will prepare a 2.5.1 release build and ask some questions:

Can you look it?

Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests