{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":2111095,"defaultBranch":"master","name":"atheme","ownerLogin":"atheme","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-07-27T05:05:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/941247?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708511855.0","currentOid":""},"activityList":{"items":[{"before":"1528eb786f0c5086819d02c9572e6a724de2c679","after":"799cf54d6d26ddd7a8799fe1ebf61ac46a5461b8","ref":"refs/heads/master","pushedAt":"2024-04-01T21:59:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"libmowgli-2: bump submodule","shortMessageHtmlLink":"libmowgli-2: bump submodule"}},{"before":"10b376b9beb84b3fdd015eadd9f3e7ae25bfca96","after":"1528eb786f0c5086819d02c9572e6a724de2c679","ref":"refs/heads/master","pushedAt":"2024-04-01T18:52:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"libathemecore/function: time_ago(): use 64-bit integers for intermediates\n\nFixes a static analysis warning about assigning a time_t to a 32-bit\ninteger or vice versa.\n\nIdentified by Coverity Scan","shortMessageHtmlLink":"libathemecore/function: time_ago(): use 64-bit integers for intermedi…"}},{"before":"bce03de4bca4e3f10112377a86aaf7a7a2d5cfce","after":"10b376b9beb84b3fdd015eadd9f3e7ae25bfca96","ref":"refs/heads/master","pushedAt":"2024-03-25T08:52:14.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"libathemecore/commandhelp.c: handle indented conditions in help files\n\nI had intended while rewriting this functionality a while back to allow\nfor help files to have indented conditions to aid readability for help\nfile maintainers.\n\nHowever, I only added such a file very recently, which resulted in\ngarbage output because I neglected to modify the function that actually\nprocesses the file's lines (rather than evaluates the conditions on\nthem).\n\nFixes: atheme/atheme@2a9d68b63285ce77d157\nReported-By: KindOne (Libera.Chat)","shortMessageHtmlLink":"libathemecore/commandhelp.c: handle indented conditions in help files"}},{"before":"3c9ce6a2d3994c98686c22f8e488300c6c3e7652","after":"bce03de4bca4e3f10112377a86aaf7a7a2d5cfce","ref":"refs/heads/master","pushedAt":"2024-03-24T22:27:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/operserv/mode: check whether argument adds or removes modes\n\nchannel_mode() was written in a fragile manner such that it assumes its\ninput is from an IRCd and is trustworthy and well-formed. It is also not\ncapable of reporting an error condition back to its caller.\n\nOrdinarily this would be okay; we have to trust our uplink after all,\nand if it's feeding us malicious protocol data, all hope of maintaining\na sensible state of the network is already lost.\n\nHowever, the OS MODE module allows humans to feed arbitrary data into\nit, and if you forget to prefix that data with + or -, the results can\nvary from unintentional removal of channel modes [1] to a desync [2].\n\nThis is because channel_mode() assumes that if the mode direction is not\nADD, it must be DEL; and it looks for a + or - to switch it into ADD or\nDEL state but starts out in neither of these states.\n\nThere's nothing we can do in the short term to protect services and the\nnetwork against malicious operators, but we can protect operators from\nmaking this trivial data entry mistake.\n\n[1] Executing e.g. \"/OS MODE #foo o bar\" will (instead of opping bar)\n deop bar, whether or not bar is opped. This will not corrupt any\n channel state but is unintuitive and undesirable behaviour.\n\n[2] Executing e.g. \"/OS MODE #foo i\" will convince services that the\n channel is no longer cmode +i but will not send out a MODE -i to\n the network because modestack_add_simple() will ignore (and\n complain about) an invalid mode direction.\n\nReported-By: glguy (Libera.Chat)","shortMessageHtmlLink":"modules/operserv/mode: check whether argument adds or removes modes"}},{"before":"9d23473f3bf8c428ff84cbc341e73e10fbd0043b","after":"3c9ce6a2d3994c98686c22f8e488300c6c3e7652","ref":"refs/heads/master","pushedAt":"2024-03-21T02:20:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/nickserv/multimark: MARK ADD: check operator is logged in\n\nThe ADD subcommand takes a copy of the operator's account name and\nentity ID for future LIST output.\n\nEnsure that the operator is actually logged into a services account\nbefore attempting to do this, or we will crash.\n\nIt is only possible to trigger this crash by giving MARK privileges\nto the \"ircop\" operclass, being opered, and not being logged in\nwhile executing MARK ADD.\n\nReported-By: TheDaemoness ","shortMessageHtmlLink":"modules/nickserv/multimark: MARK ADD: check operator is logged in"}},{"before":"7e3a2fead55e1976a7bec324e6acd92d3b9256fb","after":"9d23473f3bf8c428ff84cbc341e73e10fbd0043b","ref":"refs/heads/master","pushedAt":"2024-03-04T06:39:43.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"libathemecore/services.c: myuser_login(): fix code block indentation","shortMessageHtmlLink":"libathemecore/services.c: myuser_login(): fix code block indentation"}},{"before":"955cbd85a97e80e43f15e8067586633cd8e929c5","after":"bd119ca1e57bbb94c8885d71f60dfb49c877a203","ref":"refs/heads/jess/less-bad-cidr-check","pushedAt":"2024-02-21T21:06:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"},"commit":{"message":"make vhost \"looks like a CIDR\" check more precise","shortMessageHtmlLink":"make vhost \"looks like a CIDR\" check more precise"}},{"before":"61333cd9a1bc1e6ea305f633cbbb96962a07f1fc","after":"955cbd85a97e80e43f15e8067586633cd8e929c5","ref":"refs/heads/jess/less-bad-cidr-check","pushedAt":"2024-02-21T10:48:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"},"commit":{"message":"make vhost \"looks like a CIDR\" check more precise","shortMessageHtmlLink":"make vhost \"looks like a CIDR\" check more precise"}},{"before":"20610571415c748e7b92217f70c561796ca663d6","after":"61333cd9a1bc1e6ea305f633cbbb96962a07f1fc","ref":"refs/heads/jess/less-bad-cidr-check","pushedAt":"2024-02-21T10:45:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"},"commit":{"message":"make vhost \"looks like a CIDR\" check more precise","shortMessageHtmlLink":"make vhost \"looks like a CIDR\" check more precise"}},{"before":"bbcffc5449475cdc8fa4ebe3b6b0eafb3c587d78","after":"20610571415c748e7b92217f70c561796ca663d6","ref":"refs/heads/jess/less-bad-cidr-check","pushedAt":"2024-02-21T10:42:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"},"commit":{"message":"make vhost \"looks like a CIDR\" check more precise","shortMessageHtmlLink":"make vhost \"looks like a CIDR\" check more precise"}},{"before":null,"after":"bbcffc5449475cdc8fa4ebe3b6b0eafb3c587d78","ref":"refs/heads/jess/less-bad-cidr-check","pushedAt":"2024-02-21T10:37:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"},"commit":{"message":"make vhost \"looks like a CIDR\" check more precise","shortMessageHtmlLink":"make vhost \"looks like a CIDR\" check more precise"}},{"before":"68d94115341833863293d78e12ef28720b10b40b","after":"7e3a2fead55e1976a7bec324e6acd92d3b9256fb","ref":"refs/heads/master","pushedAt":"2024-02-10T00:45:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"doc/VERSION_LETTERS: correct description of 'n'\n\nThis letter does not necessarily mean that services is attached to a\nterminal; but rather that it was simply started with -n to not fork\nto the background. This is entirely normal when running under some\nkind of supervisor e.g. OpenRC's supervise-daemon(8).","shortMessageHtmlLink":"doc/VERSION_LETTERS: correct description of 'n'"}},{"before":"266c5a80acfddb48f4b4242eaca43fa8f28e7a3d","after":"68d94115341833863293d78e12ef28720b10b40b","ref":"refs/heads/master","pushedAt":"2024-02-05T21:53:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/protocol/unreal4: Adjust UID parsing to correctly determine IP address of new users (#919)\n\nWhen parsing the UID message from UnrealIRCd, the real IP of the user is not being correctly detected.","shortMessageHtmlLink":"modules/protocol/unreal4: Adjust UID parsing to correctly determine I…"}},{"before":"4e3dfaa9f541a30ab4a968875a8d4f99d3a535bd","after":"266c5a80acfddb48f4b4242eaca43fa8f28e7a3d","ref":"refs/heads/master","pushedAt":"2024-02-05T00:43:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/nickserv/main: do not tell people to identify to frozen accounts","shortMessageHtmlLink":"modules/nickserv/main: do not tell people to identify to frozen accounts"}},{"before":"a2d1df6321297ee9f9274c79839d0ea2c458944b","after":"4e3dfaa9f541a30ab4a968875a8d4f99d3a535bd","ref":"refs/heads/master","pushedAt":"2024-02-04T01:13:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/protocol/unreal4: Adjust default usermodes for service bots to include TLS-only & hide ircop usermodes (#918)","shortMessageHtmlLink":"modules/protocol/unreal4: Adjust default usermodes for service bots t…"}},{"before":"ad65a740ceec2ec0b338d588abc2ba6ad8bd2a88","after":"a2d1df6321297ee9f9274c79839d0ea2c458944b","ref":"refs/heads/master","pushedAt":"2023-12-20T22:00:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"po/: make update-po\n\nRegenerate our translation string indexes.","shortMessageHtmlLink":"po/: make update-po"}},{"before":"0407d8be8e63db246196398bfc23110a2b07de87","after":"ad65a740ceec2ec0b338d588abc2ba6ad8bd2a88","ref":"refs/heads/master","pushedAt":"2023-12-14T10:20:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"m4/atheme-featuretest-nls.m4: set USE_NLS to yes when asked to try\n\nThe AM_GNU_GETTEXT macro relies on this being set to\nyes, or it does almost nothing and results in it not\nbeing available.\n\nThe ugly AM_NLS macro that I no-oped out in commit\n3828bfac7ac27e4593ab did this, which I overlooked when\nchanging it from default-enabled to default-disabled.","shortMessageHtmlLink":"m4/atheme-featuretest-nls.m4: set USE_NLS to yes when asked to try"}},{"before":"18f63842b57d3cf8025903918425195ff6e5b5f1","after":"0407d8be8e63db246196398bfc23110a2b07de87","ref":"refs/heads/master","pushedAt":"2023-11-30T17:56:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"Update NS DROP warning text to refer to SET ACCOUNTNAME\n\nEdited by @aaronmdjones: Check SET ACCOUNTNAME is loaded\n\nCloses atheme/atheme#913","shortMessageHtmlLink":"Update NS DROP warning text to refer to SET ACCOUNTNAME"}},{"before":"89be3ee6a73376d4ce5e2af012ed4a3954f48fe9","after":"18f63842b57d3cf8025903918425195ff6e5b5f1","ref":"refs/heads/master","pushedAt":"2023-11-04T10:43:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/chanserv/{halfop,owner,protect}: better checks and errors\n\nCheck that an IRCd protocol module is loaded before attempting to\ndetermine whether the IRCd supports the necessary channel status\nfeature or not.\n\nAlso give better error messages in the missing support case. An\nerror like \"Module chanserv/owner requires owner support\" is\nconfusing at best.","shortMessageHtmlLink":"modules/chanserv/{halfop,owner,protect}: better checks and errors"}},{"before":"e8039277590fb854b8f8c803bb52aa770314b8ca","after":"89be3ee6a73376d4ce5e2af012ed4a3954f48fe9","ref":"refs/heads/master","pushedAt":"2023-09-30T00:14:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"Capitalize the P in ECDSA-NIST256P-CHALLENGE (#912)","shortMessageHtmlLink":"Capitalize the P in ECDSA-NIST256P-CHALLENGE (#912)"}},{"before":"2b51bacd6dbf27e85f516d3a67a12d91a577741d","after":"e8039277590fb854b8f8c803bb52aa770314b8ca","ref":"refs/heads/master","pushedAt":"2023-09-19T19:45:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"configure: warn on failing to enable various compiler features\n\nAlso correct the wording of the one previous extant warning. It\nis automatically probed for by default, so do not imply with the\nlanguage of the warning that the option was explicitly given.","shortMessageHtmlLink":"configure: warn on failing to enable various compiler features"}},{"before":"3370312eebedf68cef90806b0a6b6d54ab57741e","after":"2b51bacd6dbf27e85f516d3a67a12d91a577741d","ref":"refs/heads/master","pushedAt":"2023-07-25T21:48:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/operserv/joinrate: avoid spurious assertion failure messages","shortMessageHtmlLink":"modules/operserv/joinrate: avoid spurious assertion failure messages"}},{"before":"420be30c534b36d1f86f3543a6117d8768555cf4","after":"3370312eebedf68cef90806b0a6b6d54ab57741e","ref":"refs/heads/master","pushedAt":"2023-07-07T18:04:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/contrib/: bump to latest HEAD","shortMessageHtmlLink":"modules/contrib/: bump to latest HEAD"}},{"before":"ac11e7ca10e147cf2e8abcdf3cb39ea2a29c7e8c","after":null,"ref":"refs/heads/jesopo/os-joinrate","pushedAt":"2023-06-04T20:47:09.405Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"}},{"before":"22bba9a6d5e8bbc68c42c6642a55441202120624","after":"420be30c534b36d1f86f3543a6117d8768555cf4","ref":"refs/heads/master","pushedAt":"2023-06-04T20:47:08.298Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jesopo","name":"Jess Porter","path":"/jesopo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11245819?s=80&v=4"},"commit":{"message":"modules/operserv/: add a channel join rate monitoring module (#898)\n\nI thought this was better as a first-party module than to put it\r\nin contrib. I have reworked it to adhere to the 7.3 type system\r\nand conventions, and add module reload support such that no data\r\nloss will occur.\r\n\r\nCloses atheme/atheme-contrib-modules#49\r\nCloses atheme/atheme-contrib-modules#50\r\n\r\nCo-authored-by: Jess ","shortMessageHtmlLink":"modules/operserv/: add a channel join rate monitoring module (#898)"}},{"before":"71a0e3ee06730d196c9a123f62c5686f884bf75b","after":"ac11e7ca10e147cf2e8abcdf3cb39ea2a29c7e8c","ref":"refs/heads/jesopo/os-joinrate","pushedAt":"2023-06-04T20:41:03.899Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/operserv/: add a channel join rate monitoring module\n\nI thought this was better as a first-party module than to put it\nin contrib. I have reworked it to adhere to the 7.3 type system\nand conventions, and add module reload support such that no data\nloss will occur.\n\nCloses atheme/atheme-contrib-modules#49\nCloses atheme/atheme-contrib-modules#50\n\nCo-authored-by: Jess ","shortMessageHtmlLink":"modules/operserv/: add a channel join rate monitoring module"}},{"before":"20e481cf3088721cefba60ff25832482f06ac749","after":null,"ref":"refs/heads/jess/rsfnc-type","pushedAt":"2023-06-03T17:54:43.791Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"}},{"before":"584be73e682734a619bc744ed206398ed82aa464","after":"22bba9a6d5e8bbc68c42c6642a55441202120624","ref":"refs/heads/master","pushedAt":"2023-06-03T17:54:42.650Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"include FNC_REGAIN/FNC_FORCE in ts6-generic's RSFNC (#899)","shortMessageHtmlLink":"include FNC_REGAIN/FNC_FORCE in ts6-generic's RSFNC (#899)"}},{"before":"7bd5e4bee31c0a6168b524950eb85af9c5d9490e","after":"584be73e682734a619bc744ed206398ed82aa464","ref":"refs/heads/master","pushedAt":"2023-05-26T22:33:03.324Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"modules/contrib/: bump to latest HEAD","shortMessageHtmlLink":"modules/contrib/: bump to latest HEAD"}},{"before":"d6d8124b2da817658a38d363dff47daadbfa297e","after":"7bd5e4bee31c0a6168b524950eb85af9c5d9490e","ref":"refs/heads/master","pushedAt":"2023-05-26T22:28:11.436Z","pushType":"push","commitsCount":3,"pusher":{"login":"aaronmdjones","name":"Aaron Jones","path":"/aaronmdjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3105118?s=80&v=4"},"commit":{"message":"AC_PROG_MKDIR_P is broken beyond repair; remove it","shortMessageHtmlLink":"AC_PROG_MKDIR_P is broken beyond repair; remove it"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEJOSrVQA","startCursor":null,"endCursor":null}},"title":"Activity · atheme/atheme"}