#1109039 tin: after upgrade, some user configuration is removed

Package:
tin
Source:
tin
Description:
Full-screen easy to use Usenet newsreader
Submitter:
Vincent Lefevre
Date:
2025-08-07 21:53:01 UTC
Severity:
normal
Tags:
#1109039#5
Date:
2025-07-10 08:34:14 UTC
From:
To:
When running tin after the upgrade to the new version, some of the
user configuration is removed (I could see that from a backup):
  * in .tin/attributes: user comments (including commented rules).
  * in .tin/filter, an expired rule, i.e. with a "time" parameter
    and an old time (even though the rule has expired, the user may
    want to keep information from it).

Such data has no influence on the behavior of tin, but this may be
valuable information written by the user (e.g. explaining why a rule
has been added or a commented rule that the user may want to re-add
in the future) and must be kept in some form.

#1109039#10
Date:
2025-07-10 12:01:41 UTC
From:
To:
First of all, expired filter rules have ever been removed from the
filter file since Iain changed the format between tin-1.22 and
270194APLHA so that behaviour is the same for the last ~31 years.

Second, comments in attributes (and tinrc etc.pp) have ever been dropped
when writing them since those file have a version number (for attributes
that's since 1.5.18 release 20030602).

Keeping expired filter rules should be doable with not too much efford
(likely companied with a tinrc-var which defaults to "remove expired
rules" but having an option to keep them). I'll put that on the TODO-list.

Keeping comments in the versioned files (exception is filter whith
"comment=" which was a 'simple' way to preserve them dating back to
version 1.5.15 release 20021115; before that release comments were lost
as in other files on rewrite) is more complex and I doubt it will be
added (anytime soon). That's on the TODO-list since 04-2008:

| o  comments in attributes get lost (we need to do something like we do for
|    the filter file)
|    [20080425 Urs Janssen <urs@tin.org>]

urs

#1109039#15
Date:
2025-07-10 13:57:25 UTC
From:
To:
It is possible that these filter rules got removed before I had
a chance to see them (it is quite uncommon that I closely look
at these config files). In my case, they are created automatically
by add_posted_to_filter=ON.

It appears that I have a more general rule, which is permanent:

group=*
case=0
score=hot
msgid=vinc17\.org

(though it is not guaranteed to work in all cases, if ever my msgid
format changes), and this could be another reason why I did not
notice the issue before.

It's strange that I did not notice that before. Perhaps I was blindly
copying my config from my own copy to the .tin/attributes file. But
the latest changes in my own copy were done 4 years ago, and I was
not sure that this copy matched the actual config on my new machine;
that's why I looked closer in order to merge the config if need be.

Note that the attributes file starts with

# Group attributes file V1.0.xx for the TIN newsreader
# Do not edit this comment block

so that I expected that anything after this comment block would
be preserved (or nicely converted).

#1109039#20
Date:
2025-07-10 14:42:24 UTC
From:
To:
- set the write flag if the file version is older than the expected version
- read the filter file rule by rule; if any expired rule is found skip
  that rule set the write flag
- when all rules have been read, check the write flag and
  write the file if needed.

This happens on every read of the file (e.g. also after 'E'dit filter
file).

I don't use add_posted_to_filter but filter on "my" Message-ID only.
The format didn't change since some time before 01.1997.

And there is EVIL_INSIDE which could be used to let tin
generate the Message-ID (based on login name + FQDN.
I doubt that will be more stable than the ones comming from your
server. It's only mentioned in doc/INSTALL like FORGERY
(which does alter the Message-ID scheeme if used together with
EVIL_INSIDE) for reasons.

[1] I have a work in progress patch (lacks the 'M'enu/
    tinrc option to enable it, currently it's a compile
    time "option") to keep expired rules in the filter
    (as they are, they are just not taken into account).
    Needs some testing, but I guess it will be available
    with the next snapshot/release.

The attribute file format is relative stable and there
is no expire mechanism like for filter rules. So chances
are high(er) that comments survive 1-3 years ,-)

That should read as "feel free to adjust any _options_ manually"
and no as "everthing in the file is preserved as is".
Same applies to the tinrc and serverrc and  ...

HTH,
urs

#1109039#29
Date:
2025-08-07 21:51:00 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
tin, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1109039@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Marco d'Itri <md@linux.it> (supplier of updated tin package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 07 Aug 2025 22:59:51 +0200
Source: tin
Architecture: source
Version: 1:2.6.5~20250806-1
Distribution: experimental
Urgency: medium
Maintainer: Marco d'Itri <md@linux.it>
Changed-By: Marco d'Itri <md@linux.it>
Closes: 1109039
Changes:
 tin (1:2.6.5~20250806-1) experimental; urgency=medium
 .
   * New upstream snapshot.
     - Adds the keep_expired_filters option. (Closes: #1109039)
Checksums-Sha1:
 54cb3097611e4c457e267ca087d3abc2b4145b69 2242 tin_2.6.5~20250806-1.dsc
 8a03ef30ea372ece25d92ced09b41c765c4003d3 1764876 tin_2.6.5~20250806.orig.tar.xz
 8cce545d483eb64f1425cf8e7f1bfbb0520b89f9 16100 tin_2.6.5~20250806-1.debian.tar.xz
 93e50e18cd70a5c13f7b64814d685e929957b429 6754428 tin_2.6.5~20250806-1.git.tar.xz
 e64ec0d9e78ae4e4615b5e4f86322d0d157b8121 18076 tin_2.6.5~20250806-1_source.buildinfo
Checksums-Sha256:
 ea3852170fbb20a75744db648a994351983128b0926666e50583a89f2ea07170 2242 tin_2.6.5~20250806-1.dsc
 62e46d84dbc7e7524158b0fe03e557c5886318db51465c1c24d1b5bd8fea3978 1764876 tin_2.6.5~20250806.orig.tar.xz
 e8efba6ea3fba851753fd5af4442b9349cf0ef248bf214fcd636a254d9515e0c 16100 tin_2.6.5~20250806-1.debian.tar.xz
 1de0a46b4020b4ff3c2dcdba82b6dd3e0172d4e40295d48472e14405da58dd67 6754428 tin_2.6.5~20250806-1.git.tar.xz
 7435c02c936ab8ebccba7ef9971aec018a083eb2c46e0f869e98a62db63a1cd8 18076 tin_2.6.5~20250806-1_source.buildinfo
Files:
 517e60aa2d01518f86f74f0949003e32 2242 news optional tin_2.6.5~20250806-1.dsc
 ed59570a107f9c75635e60e48005aff0 1764876 news optional tin_2.6.5~20250806.orig.tar.xz
 ea9682a5aaa330c745cebd541bc433aa 16100 news optional tin_2.6.5~20250806-1.debian.tar.xz
 fd66788fd375c7f45863dcf4c49d76ea 6754428 news optional tin_2.6.5~20250806-1.git.tar.xz
 c2b375d9d0d1bc9676fe008e11cf2ca8 18076 news optional tin_2.6.5~20250806-1_source.buildinfo
Git-Tag-Info: tag=58fd93f1c641b9d9d4d9501246b9582d17fd5b5a fp=272945cd836d38dfb7427e86cb3ec33ae1ded781
Git-Tag-Tagger: Marco d'Itri <md@linux.it>
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmiVGsAACgkQYG0ITkaD
wHn4ERAAiYEajRm2i7IPRtYSQpZYGWepGDm/m7rtABl7NNhXBL6l9ojmlLd3EH7S
lkoCL6WzVY8Q2S7EVDW0IPTC6qohF79bzCBsmJHGA6/AuEwK+g7oLbl0vr5skgK3
8C3HXVoQyDkq2po3kRJ+3XaxxSpiPBWFfyINMCMTHa0sjs5aQaWUMIt/nmVb6NRI
BuV4XNuNmyWM9JA3g7oFBzbDr0YpZdTkpaG0aaiLjNt0dlvUqdXVSkmdnspaaQVC
7K51x+7YPQd9f7k0fnhByeR5RB9SIQ1VF2KpRVY+MrF71x0Ny4fMBVIqbg4V9+NI
3G1yLddF3TVQ12nsOqhLF+eAM8ToySLPZMdJlZBOr814b8/XxL9yodqyJ5whDmz9
Q0kymyvUA4oc5hGYx3yfSr3ghyuaQrvzbsz1BtjO20MtjLUT77HHQb1C3tpB+7/Z
l/CVIYz34D0VAvkVPt/LikZ+Vijb28Db02PIXadae8NTMHOwVDtDTUzwevxiJLS9
JOe/WILV+WkMBYKzyEvGWzMpzwRtSraXoFc+QouHCyKpsIrgLYnu4s5alZO2k9Lb
S47AmNV+KsmrjfY+2Fo//O7eiekc/vWATn+EglNLfuG/bCZqm+pOc6rJ24n8ciyX
A4/qeQNpRmjOUY/DrxiJLCcGlvQTZwJUKdf+MumB1CrKJ8agbqU=
=LANh
-----END PGP SIGNATURE-----