pan merge requestshttps://gitlab.gnome.org/GNOME/pan/-/merge_requests2024-02-07T17:42:12Zhttps://gitlab.gnome.org/GNOME/pan/-/merge_requests/49Fixed GPG segfault, hopefully2024-02-07T17:42:12ZEmil Tomczykemru@emru.xyzFixed GPG segfault, hopefullyI've noticed segfault when trying to sign a message with GPG.
That's strange, because I remember signing working just fine back in June.
I'm not sure if this fix is acceptable, if it doesn't introduce memory leak, I'm not very adept wit...I've noticed segfault when trying to sign a message with GPG.
That's strange, because I remember signing working just fine back in June.
I'm not sure if this fix is acceptable, if it doesn't introduce memory leak, I'm not very adept with G* stuff :/https://gitlab.gnome.org/GNOME/pan/-/merge_requests/44Enabled back GPG initialization2024-02-03T15:35:58ZEmil Tomczykemru@emru.xyzEnabled back GPG initializationhttps://gitlab.gnome.org/GNOME/pan/-/merge_requests/47Added support for Gemini URLs in text2024-01-21T17:06:51ZEmil Tomczykemru@emru.xyzAdded support for Gemini URLs in texthttps://gitlab.gnome.org/GNOME/pan/-/merge_requests/46pan/gui/Makefile.am: add libiconv link if needed2023-11-01T16:03:55ZKen Cunninghampan/gui/Makefile.am: add libiconv link if neededconfigure does properly sort this out, but the placeholder needs to be added to pan_LDADD flags for the resulting library to be added to the link
https://gitlab.gnome.org/GNOME/pan/-/issues/171configure does properly sort this out, but the placeholder needs to be added to pan_LDADD flags for the resulting library to be added to the link
https://gitlab.gnome.org/GNOME/pan/-/issues/171https://gitlab.gnome.org/GNOME/pan/-/merge_requests/45Use password storage by default when it is enabled2023-07-20T16:57:39ZEmil Tomczykemru@emru.xyzUse password storage by default when it is enabledhttps://gitlab.gnome.org/GNOME/pan/-/issues/169https://gitlab.gnome.org/GNOME/pan/-/issues/169https://gitlab.gnome.org/GNOME/pan/-/merge_requests/25Fix pan with not behaving correctly with very large (>2^32) article numbers2023-07-19T03:25:23ZThosRTannerFix pan with not behaving correctly with very large (>2^32) article numbersThis was basically down to using strtoul instead of strtoull.
However, after fixing that and looking around I found a bunch of places where different variants of string->integer were used. So I refactored everything into two classes, Ar...This was basically down to using strtoul instead of strtoull.
However, after fixing that and looking around I found a bunch of places where different variants of string->integer were used. So I refactored everything into two classes, Article_Number and Article_Count. At some point some error checking needs to go into the two new constructors, but I imagine it'll be a while before a new group has anywhere near 2^64 articles.
While debugging things, I discovered that 'last N days' for large groups didn't work, which was a side effect of a previous fix for dealing with interrupting large group updates in !22
PS Sorry for the size of this. Creating new types was the only way I could be sure I'd covered all the places where the wrong conversion was being used.
Fixes #62https://gitlab.gnome.org/GNOME/pan/-/merge_requests/43Fix crash in on_socket_created() when password storage is enabled2023-01-26T17:47:59ZJohn Paul Adrian GlaubitzFix crash in on_socket_created() when password storage is enabledFixes #164Fixes #164https://gitlab.gnome.org/GNOME/pan/-/merge_requests/42Fix behaviour of : and :: in Scorefile and also make them match slrn document...2023-01-22T17:47:48ZThosRTannerFix behaviour of : and :: in Scorefile and also make them match slrn documentationIMPORTANT NOTE:
This makes : and :: in rules behave as specified in the slrn manual.
Specifically, : means all of the rules must match to apply a score,
and '::' means any of the rules can match to apply a score.
Prior to this, they w...IMPORTANT NOTE:
This makes : and :: in rules behave as specified in the slrn manual.
Specifically, : means all of the rules must match to apply a score,
and '::' means any of the rules can match to apply a score.
Prior to this, they were the other way round, and Score:: didn't work
at all (though {:: did)
I also
* reformatted the code
* refactored some of this code heavily to make it easier to read.
* re-enabled all but one of the tests under make check in the usenet-utils directory.
Fixes #158https://gitlab.gnome.org/GNOME/pan/-/merge_requests/41Fix automatic marking of articles read crashing in an infinite recursion.2022-12-30T16:58:02ZThosRTannerFix automatic marking of articles read crashing in an infinite recursion.This was making subtraction of article counts do the wrong thing, which in turn made mark_one_read return a wrong value causing an infinite recursion when doing automatic mark-article-read operations when displaying a group.
Fixes #156This was making subtraction of article counts do the wrong thing, which in turn made mark_one_read return a wrong value causing an infinite recursion when doing automatic mark-article-read operations when displaying a group.
Fixes #156https://gitlab.gnome.org/GNOME/pan/-/merge_requests/40take implementation in ssl-utils.h into .cc file, and clean up code2022-11-02T17:46:09ZThosRTannertake implementation in ssl-utils.h into .cc file, and clean up codeincluding removing dead code and making it a little friendlier
Fixes #151including removing dead code and making it a little friendlier
Fixes #151https://gitlab.gnome.org/GNOME/pan/-/merge_requests/39Use 'override' for all virtual method overrides2022-10-22T17:51:34ZThosRTannerUse 'override' for all virtual method overridesSeeing we're now using C++11 and use of override makes it far clearer what is going on than 'virtual' (and cuts down the cppcheck warnings considerably, making it more usable)Seeing we're now using C++11 and use of override makes it far clearer what is going on than 'virtual' (and cuts down the cppcheck warnings considerably, making it more usable)https://gitlab.gnome.org/GNOME/pan/-/merge_requests/38Reworked MemChunk to add a reserve method2022-10-22T16:59:27ZThosRTannerReworked MemChunk to add a reserve methodthe first commit is reformatting with clang-format. I've also added the clang-format settings I've used (seeing as the formatting is fairly inconsistent in the project).
Changes to memchunk:
When looking at reasons why large groups too...the first commit is reformatting with clang-format. I've also added the clang-format settings I've used (seeing as the formatting is fairly inconsistent in the project).
Changes to memchunk:
When looking at reasons why large groups took a long time to deal with, I discovered MemChunk::grow was called a lot for large groups. It allocates 16k chunks (apparently less memory allocation overhead) and will clearly waste some unless your object sizes are friendly. I think it might have been trying to make the data whole pages, but there's no way the alignment could be guaranteed. It also zeroises the allocated memory which is a bit pointless (assuming your constructors initialise everything they should, which was addressed in an earlier PR using cppcheck).
So instead I've made it allocate in chunks of 16k objects (which is arguably a bit excessive) and have also supplied a reserve method which will allow allocation of a precise number of objects, which is now used when reading in groups.
This has also simplified the destructor code slightly.https://gitlab.gnome.org/GNOME/pan/-/merge_requests/36Remove some empty headers2022-10-08T17:14:05ZThosRTannerRemove some empty headersAll these headers are empty, and aren't referenced apart from being in the Makefiles as headers not to releaseAll these headers are empty, and aren't referenced apart from being in the Makefiles as headers not to releasehttps://gitlab.gnome.org/GNOME/pan/-/merge_requests/35Use nullptr instead of 02022-10-03T16:48:35ZThosRTannerUse nullptr instead of 0This is a general (slightly religious!) cleanup to use 'nullptr' instead of 0 for null pointers, and enables the corresponding compiler warning.
I find this usage makes things a lot clearer.This is a general (slightly religious!) cleanup to use 'nullptr' instead of 0 for null pointers, and enables the corresponding compiler warning.
I find this usage makes things a lot clearer.https://gitlab.gnome.org/GNOME/pan/-/merge_requests/34Removed an unused parameter from PartsBatch init, added constructors.2022-09-28T16:39:55ZThosRTannerRemoved an unused parameter from PartsBatch init, added constructors.While fiddling around, I noticed that PartBatch init method has an unused parameter. I've removed it, and also added some constructors, as currently the default constructor leaves the object in an undefined state.While fiddling around, I noticed that PartBatch init method has an unused parameter. I've removed it, and also added some constructors, as currently the default constructor leaves the object in an undefined state.https://gitlab.gnome.org/GNOME/pan/-/merge_requests/33Couple of small safety improvements.2022-09-24T10:02:24ZThosRTannerCouple of small safety improvements.1) Uses long long for timestamp when reading articles files
2) Adds some protection against strange group names (one of which actually caused pan to hang when reading it...)1) Uses long long for timestamp when reading articles files
2) Adds some protection against strange group names (one of which actually caused pan to hang when reading it...)https://gitlab.gnome.org/GNOME/pan/-/merge_requests/31task-xoverinfo isn't used so remove it2022-09-18T16:38:13ZThosRTannertask-xoverinfo isn't used so remove itI spent a lot of time trying to work out what this was doing when looking at performance problem. The answer appears to be 'nothing'!I spent a lot of time trying to work out what this was doing when looking at performance problem. The answer appears to be 'nothing'!https://gitlab.gnome.org/GNOME/pan/-/merge_requests/28Draft: Adds a quick cppcheck call into the build and fixes a bunch of issues ...2022-09-18T16:35:37ZThosRTannerDraft: Adds a quick cppcheck call into the build and fixes a bunch of issues detected by samecppcheck is an optional build target, but it's been detecting some fun stuff
Among other changes:
- added initialisers in constructors
- marked some classes and methods final (I think needing to mark the method final is a questionable b...cppcheck is an optional build target, but it's been detecting some fun stuff
Among other changes:
- added initialisers in constructors
- marked some classes and methods final (I think needing to mark the method final is a questionable behaviour of cppcheck)
- marked some constructors/assignment operators as deleted
- ensured all headers that need it include config.h so there's no surprises if headers are included in a not-expected order.
- Removed some tests for null pointers where the pointer had been accessed prior to the null testhttps://gitlab.gnome.org/GNOME/pan/-/merge_requests/32Improve the log messages on connection errors2022-08-12T07:56:37ZThosRTannerImprove the log messages on connection errorsThis adds the host/socket to the message that ends up in the log. "Connection error" is really not very helpful if you have more than one serverThis adds the host/socket to the message that ends up in the log. "Connection error" is really not very helpful if you have more than one serverhttps://gitlab.gnome.org/GNOME/pan/-/merge_requests/30More clang checks and fixes2022-07-21T15:18:29ZThosRTannerMore clang checks and fixesI'm not proud of null.h but it seems to get round what appears to be a slight nasty in clang, that it doesn't allow NULL when a varargs function is defined to expect a null pointer to terminate the list.I'm not proud of null.h but it seems to get round what appears to be a slight nasty in clang, that it doesn't allow NULL when a varargs function is defined to expect a null pointer to terminate the list.