{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":22337925,"defaultBranch":"unreal60_dev","name":"unrealircd","ownerLogin":"unrealircd","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-07-28T09:47:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8283449?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1635573200.084822","currentOid":""},"activityList":{"items":[{"before":"e12559ad78b1096b0d887185ecdd6aec0dde5433","after":"35bf78d10529de753ddd42a1b058ff53a98d5aa2","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-13T15:14:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Forgot to mention https://www.unrealircd.org/docs/Dev:Authentication_module\n\nAs said, this isn't a proper authentication framework atm, just something\nquick for (third) party module coders so they have something that works.","shortMessageHtmlLink":"Forgot to mention https://www.unrealircd.org/docs/Dev:Authentication_…"}},{"before":"01a441de84880e4fbeb1b1d0938f523931917507","after":"e12559ad78b1096b0d887185ecdd6aec0dde5433","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-13T15:10:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Allow modules to provide SASL locally, by hooking into AUTHENTICATE.\n\nNote that this is still a dumb interface and not a real proper\nauthentication framework.\n\nThis adds HOOKTYPE_SASL_AUTHENTICATE and HOOKTYPE_SASL_MECHS and\nalso provides 3 functions: sasl_succeeded(), sasl_failed() and\na helper function decode_authenticate_plain() for AUTHENTICATE PLAIN.","shortMessageHtmlLink":"Allow modules to provide SASL locally, by hooking into AUTHENTICATE."}},{"before":"e59e8c99f4645eb7e71e62ea1d14435ff16b92e7","after":"01a441de84880e4fbeb1b1d0938f523931917507","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-06T08:07:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Add crule functions: is_tls(), in_security_group(), match_mask(), match_ip()\n\n* Add more [Crule](https://www.unrealircd.org/docs/Crule) functions:\n * `is_tls()` returns true if the client is using SSL/TLS\n * `in_security_group('known-users')` returns true if the user is in the\n specified [security group](https://www.unrealircd.org/docs/Security-group_block).\n * `match_mask('*@*.example.org')` or `match_mask('*.example.org')`\n returns true if client matches mask.\n * `match_ip('192.168.*')` or with CIDR like `match_ip('192.168.0.0/16')`\n returns true if IP address of client matches.","shortMessageHtmlLink":"Add crule functions: is_tls(), in_security_group(), match_mask(), mat…"}},{"before":"e9da1a867bce8de139d7d7a473e7038bd4bae4b7","after":"e59e8c99f4645eb7e71e62ea1d14435ff16b92e7","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-06T08:01:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Whoops. Accidentially committed a debug line.\n[skip ci]","shortMessageHtmlLink":"Whoops. Accidentially committed a debug line."}},{"before":"45717d44f46baf69919faec813df5a33bdd1cc14","after":"e9da1a867bce8de139d7d7a473e7038bd4bae4b7","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-06T07:23:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Using @if with a variable like `@if $VAR == \"something\"` was always false.\nReported by BlackBishop.\n\nThis rename free_config_defines() to init_config_defines and calls it from\nconfig_read_start() so caller doesn't have to think about it.","shortMessageHtmlLink":"Using @if with a variable like @if $VAR == \"something\" was always f…"}},{"before":"576af06857eeba5c61a191973e208ab08ff88c8b","after":"45717d44f46baf69919faec813df5a33bdd1cc14","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-05T15:37:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Fix typo in release notes\n[skip ci]","shortMessageHtmlLink":"Fix typo in release notes"}},{"before":"f83967c582ae1d2118f2d7f65365c3e14fdeba1e","after":"576af06857eeba5c61a191973e208ab08ff88c8b","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-05T15:35:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Remove default security group tls-and-known-users.","shortMessageHtmlLink":"Remove default security group tls-and-known-users."}},{"before":"1d3c5a49a9604a85e50e30d9f93b02bfded45f74","after":"f83967c582ae1d2118f2d7f65365c3e14fdeba1e","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-03T12:34:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Bump URL_MEMORY_BACKED_CHUNK_SIZE from 128 to 8192 as intended.\nThis to avoid doing too many realloc() calls (at theexpense of\nsome wasted bytes, but that should be acceptable nowadays).","shortMessageHtmlLink":"Bump URL_MEMORY_BACKED_CHUNK_SIZE from 128 to 8192 as intended."}},{"before":"fb2381b1adaa0cb503f89162b7bd4650dd5bcec3","after":"1d3c5a49a9604a85e50e30d9f93b02bfded45f74","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-03T12:10:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Get rid of confusing \"REHASH -all\" as \"REHASH\" already does the same.\nAnd this is easily mistaken with \"REHASH -global\" which rehashes all\nthe IRC servers on the network.\n\nIn fact, who knows some year(s) from now we may map \"REHASH -all\"\nto \"REHASH -global\", but... not yet...","shortMessageHtmlLink":"Get rid of confusing \"REHASH -all\" as \"REHASH\" already does the same."}},{"before":"a24e53c096e093d29d09a4c6477b80dd8a778eb6","after":"fb2381b1adaa0cb503f89162b7bd4650dd5bcec3","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-03T11:05:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Deal better with lack of an internet connection when booting the first time.\n\n* When booting for the first time (without any cached files) the IRCd\n downloads GeoIP.dat. If that fails, e.g. due to lack of internet connectivity,\n we now show a warning and continue booting instead of it being a hard error.\n Note that we already dealt with this properly after the file has been cached\n (so after first download), see \"What if your web server is down\" in\n [Remote includes](https://www.unrealircd.org/docs/Remote_includes#What_if_your_web_server_is_down).","shortMessageHtmlLink":"Deal better with lack of an internet connection when booting the firs…"}},{"before":"f2aaeb32156602050321126e5862ea27ab0fcad6","after":"a24e53c096e093d29d09a4c6477b80dd8a778eb6","ref":"refs/heads/unreal60_dev","pushedAt":"2024-05-02T07:06:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Move from -D_FORTIFY_SOURCE=2 to -D_FORTIFY_SOURCE=3\nand use -O2 when compiling with ASan instead of -O1\n(the near-last question in ./Config).","shortMessageHtmlLink":"Move from -D_FORTIFY_SOURCE=2 to -D_FORTIFY_SOURCE=3"}},{"before":"bed50dcced99c83a10443a95f98b2cff051b7c80","after":"f2aaeb32156602050321126e5862ea27ab0fcad6","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-26T05:43:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Add sponsorship info to GitHub sidebar","shortMessageHtmlLink":"Add sponsorship info to GitHub sidebar"}},{"before":"728069879fce62d1f7096282530eb40308404ba0","after":"bed50dcced99c83a10443a95f98b2cff051b7c80","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-22T10:43:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Fix bullet points on release notes\n[skip ci]","shortMessageHtmlLink":"Fix bullet points on release notes"}},{"before":"74a9569b4e85cbb1986948b29e45c7e0db7d70a0","after":"728069879fce62d1f7096282530eb40308404ba0","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-22T10:20:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"** UnrealIRCd 6.1.5 **","shortMessageHtmlLink":"** UnrealIRCd 6.1.5 **"}},{"before":"cfff343d35afb9313bc61bcb26a5f297fb941ec6","after":"74a9569b4e85cbb1986948b29e45c7e0db7d70a0","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-12T16:21:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Fix two typos in example.es.conf that prevent it from working\n\n[skip ci]","shortMessageHtmlLink":"Fix two typos in example.es.conf that prevent it from working"}},{"before":"a95825687c0d1c059ea68e3dbe278f2b69a65a65","after":"cfff343d35afb9313bc61bcb26a5f297fb941ec6","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-07T06:44:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Make the check for unedited conf happen before password hashing.\n\nOtherwise you get something like:\n[info] /home/irc/unrealircd/conf/unrealircd.conf:166: oper::password: Advice: it is not recommended to use plaintext passwords in the config file. You can replace this password with the following password hash:\n[info] password \"$argon2id$v=19$m=6144,t=2,p=2$fIxnffmGpvcMkXaLcbttfw$b549yTafLVG27K4fPvre2DSacTm/px2hVMdI0KmQqZU\";\n[error] /home/irc/unrealircd/conf/unrealircd.conf:156: please change the the name and password of the default 'bobsmith' oper block\n[error] 1 errors encountered\n\nWhich is a tad confusing, since you shouldn't hash that default dummy password at all :D. Now it is only:\n[error] /home/syzop/unrealircd/conf/unrealircd.conf:156: please change the the name and password of the default 'bobsmith' oper block\n[error] 1 errors encountered\n\n[skip ci]","shortMessageHtmlLink":"Make the check for unedited conf happen before password hashing."}},{"before":"4bbe55718a9971c63bc38a5630049b07fdbf32ed","after":"a95825687c0d1c059ea68e3dbe278f2b69a65a65","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-05T07:26:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"crule: has_umode->has_user_mode and add has_channel_mode as well.\nAnd update release notes:\n\n* Add more [Crule](https://www.unrealircd.org/docs/Crule) functions:\n * `is_away()` returns true if the client is currently away\n * `has_user_mode('x')` returns true if all the user modes are set on the\n client.\n * `has_channel_mode('x')` can be used for spamfilters with a destination\n channel, such as messages: it returns true if all specified channel modes\n are set on the channel.","shortMessageHtmlLink":"crule: has_umode->has_user_mode and add has_channel_mode as well."}},{"before":"585b73158aabc6574e4c594b860072000988c868","after":"4bbe55718a9971c63bc38a5630049b07fdbf32ed","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-05T06:55:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"add two new crule functions: has_umode and is_away (#275)\n\nThis adds two new functions to Crule:\r\n- `has_umode()` which expects a parameter of one or more mode chars, returns true (1) if all of them match, otherwise returns false (0)\r\n- `is_away()` which expects no parameter which simply matches whether the user is set as away as a boolean","shortMessageHtmlLink":"add two new crule functions: has_umode and is_away (#275)"}},{"before":"2b328374a59c5e6ffaa2d574b003248395dbd3da","after":"585b73158aabc6574e4c594b860072000988c868","ref":"refs/heads/unreal60_dev","pushedAt":"2024-04-05T06:53:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Add extern void vsendto_one, requested by Valware.\n[skip ci]","shortMessageHtmlLink":"Add extern void vsendto_one, requested by Valware."}},{"before":"ede774f5ebfeed37762a4fa36f668c3687792b0b","after":"2b328374a59c5e6ffaa2d574b003248395dbd3da","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-29T08:45:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Fix whowasdb module causing WHOWAS entries to vanish (way too soon)","shortMessageHtmlLink":"Fix whowasdb module causing WHOWAS entries to vanish (way too soon)"}},{"before":"5fd97ebcf87b091a5bd78769fe159e4a7bc785bd","after":"ede774f5ebfeed37762a4fa36f668c3687792b0b","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-17T11:05:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Add ./unrealircd coffee (#274)\n\n:>","shortMessageHtmlLink":"Add ./unrealircd coffee (#274)"}},{"before":"2a39a1bdff6c893a0c5bbb794e5a504f9ca3c62d","after":"5fd97ebcf87b091a5bd78769fe159e4a7bc785bd","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-13T13:37:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"example.pt.conf: add note about use of pt-br language (#273)\n\nCo-authored-by: Rafael Grether ","shortMessageHtmlLink":"example.pt.conf: add note about use of pt-br language (#273)"}},{"before":"aa453647fc85895172b80514da4f5b8dfadac60a","after":"2a39a1bdff6c893a0c5bbb794e5a504f9ca3c62d","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-09T14:37:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Rename and mention example.pt.conf - (Brazilian) Portuguese example configuration file.","shortMessageHtmlLink":"Rename and mention example.pt.conf - (Brazilian) Portuguese example c…"}},{"before":"222b4bacbf08afdc48732b4657e24526821d3058","after":"aa453647fc85895172b80514da4f5b8dfadac60a","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-09T06:10:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Adjust config parser to log a warning when a block comment starts within another block comment. (#267)","shortMessageHtmlLink":"Adjust config parser to log a warning when a block comment starts wit…"}},{"before":"6354445db60661846cf6cfe97b7ba0a50fdf1c76","after":"222b4bacbf08afdc48732b4657e24526821d3058","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-09T06:07:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Fix spelling mistake on rehash (#271)\n\n[skip ci]","shortMessageHtmlLink":"Fix spelling mistake on rehash (#271)"}},{"before":"4cf06ddb714dc3b0f974828754fa36454e9c7150","after":"6354445db60661846cf6cfe97b7ba0a50fdf1c76","ref":"refs/heads/unreal60_dev","pushedAt":"2024-03-09T06:02:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Update README & release notes\n[skip ci]","shortMessageHtmlLink":"Update README & release notes"}},{"before":"92504528c1c0d6f5369710d6eab628129d7f295c","after":"4cf06ddb714dc3b0f974828754fa36454e9c7150","ref":"refs/heads/unreal60_dev","pushedAt":"2024-02-11T09:56:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Update release notes\n[skip ci]","shortMessageHtmlLink":"Update release notes"}},{"before":"e098be6d282025fe0b073e47648288580cbbf4bc","after":"92504528c1c0d6f5369710d6eab628129d7f295c","ref":"refs/heads/unreal60_dev","pushedAt":"2024-02-11T09:49:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Update release notes\n[skip ci]","shortMessageHtmlLink":"Update release notes"}},{"before":"aa9fdd352a336cab6c56ea615712e5bf5d6c5045","after":"e098be6d282025fe0b073e47648288580cbbf4bc","ref":"refs/heads/unreal60_dev","pushedAt":"2024-02-11T09:34:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Some more moving for previous commit aa9fdd352a336cab6c56ea615712e5bf5d6c5045","shortMessageHtmlLink":"Some more moving for previous commit aa9fdd3"}},{"before":"1eb9f578ca8278afd896f9885cf99b05cbc4d283","after":"aa9fdd352a336cab6c56ea615712e5bf5d6c5045","ref":"refs/heads/unreal60_dev","pushedAt":"2024-02-11T09:32:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"syzop","name":"Bram Matthys","path":"/syzop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8280959?s=80&v=4"},"commit":{"message":"Move giving of set::modes-on-connect to after SASL (#270)\n\nThis so account-based security groups work correctly with security-group based set xxxxx { modes-on-connect ....; } settings.\r\n[skip ci]","shortMessageHtmlLink":"Move giving of set::modes-on-connect to after SASL (#270)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESI002AA","startCursor":null,"endCursor":null}},"title":"Activity · unrealircd/unrealircd"}