Hi Martin,
hi all!
I am currently working on the Debian atftp package for bookworm. I thought that with the implementation of the windowsize option and the switch from old PCRE to actively maintained PCRE2 it would be nice to prepare a new release 0.8.0. (Of course with the patches in https://sourceforge.net/p/atftp/bugs/8/ and https://sourceforge.net/p/atftp/support-requests/11/). Carrying the patches around makes packaging more complicated and distributions should build on a common upstream if possible.
What do you think?
Best regards,
Andi
Hello Andi,
at first thanks for you efforts in fixing bugs and developing.
Some time ago I took your PCRE2 patch, adapted the test suite to evaluate PCRE and made some tests with PCRE1 and PCRE2. AFAIR there were at least small differences in behaviour.
I will test again and post results at the right place.
Then we can decide how to continue. PCRE2, maybe with behaviour changes, would qualify for a 8.0.
I'll call you back....
Martin
Hi Martin,
thanks for your quick reply!
Very interesting! I tried the test suite with the old implementation, and indeed:
I wrote a little test script to understand the difference, attached. The interesting parts (old implementation) are:
For the new implementation, the replacemants are identical in all tested cases. The difference seems to be that the old implementation drops all parts that are not mached, kind of 'non-greedy' pattern matching. I'll continue investigating.
Best regards, Andi
One correction:
This is true except there is no match at all. Hm. I guess the best is to always return the same like:
perl -e '$x = "nomatchatall"; $x =~ s#PATTERN#SUBSTITUTION#; print "$x\n";'
So if there is no match, the initial string should be returned.
I think it's all fine with the new implementation:
and
From
man atftpd
:This works fine, as tested with an improved test.sh (attached).
This works fine, as tested with an improved test.sh (attached).
Last edit: Andi 2022-08-19
I have mostly rewritten the test script. Functionality is almost the same, but more structured and mostly cosmetics. The only part not tested is the timeout, which needs debugging in atftp enabled.
Best regards, Andi
I've tested that now, too. Latest test script version attached.
I attached a patch improving the handling of lost or duplicated datagrams in https://sourceforge.net/p/atftp/support-requests/10/ .
This patch should be applied in case of a release too.
Hi, I tested (and fixed, see https://sourceforge.net/p/atftp/support-requests/10/ ) multicast and added the routines to the test script. For me, it needs other machines in the network to test and seems not to be possible on the local machine only. (At least without extra effort, but I am happy to learn better ways.)
I set up 12 mactap'ed VMs:
A wireshark capture looks fine for these transfers too. :-)
Note that
<interface type='direct' trustGuestRxFilters='yes'>
is needed for the VMs (libvirt/kvm) to see the multicast packets.Hi Adni,
I merged all your patches and pushed the repositories.
Please check is all your fixes and patches arrived properly.
Especially the PCD2 implenetation needs a check - I committed the patch from december and you mention a fixed version - but I see no newer patch.
PLS let me know.
Bye
Martin
Hi Martin,
great, many thanks! I checked differences from commit 982ba233fc6eac35 to current Debian sources after applying all patches there: It's all fine! Differences are only white space and typos (Debian sources miss some upstream fixes/cleanup). This is also the case for the PCRE part.
So from my point of view, it's good to go!
Best regards, Andi
Hi Martin,
many thanks for preparing the release. One minor cosmetic thing is the version string, patch attached.
Best regards, Andi
The release has happened, I guess this bug can be closed. Thanks!