{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":76296000,"defaultBranch":"master","name":"openwrt","ownerLogin":"pprindeville","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2016-12-12T21:13:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/187120?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705344067.0","currentOid":""},"activityList":{"items":[{"before":"050c2de660f64c91bf96aa8f2ab65f272d52c8de","after":"8da42aceba3d3ffedfaacd93275e6ffdfd97f01e","ref":"refs/heads/buildable","pushedAt":"2024-05-06T18:49:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: preserve user-added sysctl.d files\n\nCurrently we preserve /etc/sysctl.conf but not the /etc/sysctl.d/\ndirectory.\n\nPreserve any additional settings the user might have dumped into\nthe /etc/sysctl.d/ file (which is where they should be putting\nchanges/overrides into anyway rather than editing the top-level\nfile).\n\nLastly, improve the comment in sysctl.conf so that it's more\napparently how/when the files are processed.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: preserve user-added sysctl.d files"}},{"before":"219018185e52a49b6a676a3591fe28406bb1a062","after":"0b0e3e22f8830c6f0224509f25eb0f55d36ba7b5","ref":"refs/heads/master","pushedAt":"2024-05-06T18:47:23.000Z","pushType":"push","commitsCount":55,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"mediatek: bpi-r4: add ethernet aliases to DT\n\nAdding the aliases also for Linux 6.6 was forgotten and is required for\nU-Boot to hand down persistent MAC addresses to Linux.\n\nFixes: 5709254690 (\"mediatek: bpi-r4: store random MAC addresses for the BPi-R4\")\nSigned-off-by: Daniel Golle ","shortMessageHtmlLink":"mediatek: bpi-r4: add ethernet aliases to DT"}},{"before":"244b294b47951a0b41ce4f58b8feb386f3e960d1","after":"050c2de660f64c91bf96aa8f2ab65f272d52c8de","ref":"refs/heads/buildable","pushedAt":"2024-05-02T01:45:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: preserve user-added sysctl.d files\n\nCurrently we preserve /etc/sysctl.conf but not the /etc/sysctl.d/\ndirectory.\n\nPreserve any additional settings the user might have dumped into\nthe /etc/sysctl.d/ file (which is where they should be putting\nchanges/overrides into anyway rather than editing the top-level\nfile).\n\nLastly, improve the comment in sysctl.conf so that it's more\napparently how/when the files are processed.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: preserve user-added sysctl.d files"}},{"before":"cd3f878220398b467e652b68319071fdd32b8db6","after":"7f03c0bdd01610776d0e0dba9476774dad8bafae","ref":"refs/heads/base-files-unify-conffiles","pushedAt":"2024-05-02T00:31:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: have a single list of conffiles\n\nHaving conffiles enumerated (and in this case, with some\nduplication) in both the Makefile and in files/lib/upgrade/keep.d/\nis confusing, and likely unnecessary. Attempt to rationalize all\nof this.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: have a single list of conffiles"}},{"before":"8de4cc77a6d5c25e48566d0203f159287ac7f3fe","after":"219018185e52a49b6a676a3591fe28406bb1a062","ref":"refs/heads/master","pushedAt":"2024-05-02T00:28:50.000Z","pushType":"push","commitsCount":1457,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"bmips: Build U-Boot into the XG6846 target\n\nIt appears that the CFE boot loader found in the XG6846\ncannot load kernels over a certain size, and the old\nrelocate hack is not working.\n\nWhat to do? We can build a small U-Boot into the image,\nmake CFE boot that, place the kernel immediately after\nU-Boot, and use U-Boot to boot the system instead.\n\nThe compiled u-boot.bin becomes around ~300KB and with\nLZMA compression it will swiftly fit into 128KB, so\nwe use two 64KB erase blocks right after the CFE to\nstore an imagetag:ed U-Boot.\n\nReviewed-by: Paul Donald \nSigned-off-by: Linus Walleij ","shortMessageHtmlLink":"bmips: Build U-Boot into the XG6846 target"}},{"before":"2d5d4270a0cb7ed179048aad73cb0b0edb039eee","after":"6d378fe66a7da7b432a20677a2ee40cb4249bfce","ref":"refs/heads/issue-#12353","pushedAt":"2024-05-02T00:21:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"sysupgrade: Allow packages to specify their own ignore patterns\n\nThe file /etc/sysignore.conf gives a global list of files patterns\nto exclude from backup, but this list may become lengthy and\nchallenging to maintain in a single location.\n\nAs packages may specify their own files and directories to backup,\nit makes sense that they can also manage their own rules of\nexclusion from that list.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"sysupgrade: Allow packages to specify their own ignore patterns"}},{"before":"95157dde046058f745437a37a35d8136c8c84608","after":null,"ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-15T18:41:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"}},{"before":"522f2a6ffbcf9c183205dcd782abe96758893882","after":"95157dde046058f745437a37a35d8136c8c84608","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-15T17:41:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nFixes #14403\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"1853b57ef5c57dbb329b2c7ab3ca08fc71847474","after":"244b294b47951a0b41ce4f58b8feb386f3e960d1","ref":"refs/heads/buildable","pushedAt":"2024-01-15T17:40:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"83baf36ab5fe9e54b070be6a531fe0818fa919f5","after":"522f2a6ffbcf9c183205dcd782abe96758893882","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-15T17:40:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nFixes #14403\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"941b767f38cd81d07f99c40f7dc967220ddf633a","after":"83baf36ab5fe9e54b070be6a531fe0818fa919f5","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-12T21:44:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"533c03138216629512a0f080c8096d274039e6db","after":"941b767f38cd81d07f99c40f7dc967220ddf633a","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-08T21:22:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"447b67b2cf32804065c6bd10c024c028a92330b8","after":"533c03138216629512a0f080c8096d274039e6db","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-07T06:43:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"6fd793d4c4baff519bb1034726636d7cb914f698","after":"447b67b2cf32804065c6bd10c024c028a92330b8","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-05T21:20:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"a4a4bf66f05f9fa4b7eff0953cbf55dd0939d4f1","after":"6fd793d4c4baff519bb1034726636d7cb914f698","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-02T16:28:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":null,"after":"a4a4bf66f05f9fa4b7eff0953cbf55dd0939d4f1","ref":"refs/heads/base-files-fix-prepend","pushedAt":"2024-01-01T22:45:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: functions.sh: prepend() always adds separator\n\nIt shouldn't gate on the value, since the value will ostensibly\nalways be set; instead it should depend on the variable being\nprepended to being non-empty.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: functions.sh: prepend() always adds separator"}},{"before":"172389f4478dd3ea04a4a334d8c2561a51e3a55c","after":"1853b57ef5c57dbb329b2c7ab3ca08fc71847474","ref":"refs/heads/buildable","pushedAt":"2023-12-23T22:22:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: preserve user-added sysctl.d files\n\nCurrently we preserve /etc/sysctl.conf but not the /etc/sysctl.d/\ndirectory.\n\nPreserve any additional settings the user might have dumped into\nthe /etc/sysctl.d/ file (which is where they should be putting\nchanges/overrides into anyway rather than editing the top-level\nfile).\n\nLastly, improve the comment in sysctl.conf so that it's more\napparently how/when the files are processed.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: preserve user-added sysctl.d files"}},{"before":"c22aa0be3e2df4d46010fa57a1004c17c1288781","after":"8de4cc77a6d5c25e48566d0203f159287ac7f3fe","ref":"refs/heads/master","pushedAt":"2023-12-23T22:18:07.000Z","pushType":"push","commitsCount":27,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"kernel: bump 5.15 to 5.15.145\n\nChangelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.145\n\nNo patches needed a rebase.\n\nBuild system: x86_64\nBuild-tested: ramips/tplink_archer-a6-v3\nRun-tested: ramips/tplink_archer-a6-v3\n\nSigned-off-by: John Audia ","shortMessageHtmlLink":"kernel: bump 5.15 to 5.15.145"}},{"before":"ae500e62e2938e112ae1fc6aa7389e8c7b784b13","after":"c22aa0be3e2df4d46010fa57a1004c17c1288781","ref":"refs/heads/master","pushedAt":"2023-12-14T03:39:14.000Z","pushType":"push","commitsCount":345,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"ipq807x: add support for ZTE MF269\n\nHardware specifications:\n SoC: Qualcomm IPQ8071A\n RAM: 512MB of DDR3\n Flash1: Eon EN25S64 8MB\n Flash2: MX30UF2G18AC 256MB\n Ethernet: 2x 2.5G RJ45 port\n Phone: 1x RJ11 port (SPI)\n USB: 1x Type-C 2.0 port\n WiFi1: QCN5024 2.4GHz\n WiFi2: QCN5054 5GHz\n Button: Reset, WPS\n\nFlash instructions:\n 1. Connect the router via serial port (115200 8N1 1.8V)\n 2. Download the initramfs image, rename it to initramfs.bin,\n and host it with the tftp server.\n 3. Interrupt U-Boot and run these commands:\n tftpboot initramfs.bin\n bootm\n 4. After openwrt boots up, use scp or luci web\n to upload sysupgrade.bin to upgrade.\n\nSigned-off-by: Chukun Pan \nReviewed-by: Robert Marko ","shortMessageHtmlLink":"ipq807x: add support for ZTE MF269"}},{"before":"e906ccfc8c8a75872405efaf1bc2e2b625369c30","after":null,"ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-12-13T02:50:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"}},{"before":"ea8d18ca8d8a6e80bc781abdd0bb5b7221069ac2","after":"e906ccfc8c8a75872405efaf1bc2e2b625369c30","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-12-12T19:30:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add tests for unroutable, etc\n\nSee RFC-1918, RFC-3927, and RFC-1122.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add tests for unroutable, etc"}},{"before":"dbff06f1d4dcc23174186adeff5c834eb61ea831","after":"ea8d18ca8d8a6e80bc781abdd0bb5b7221069ac2","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-12-11T06:50:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add tests for unroutable, etc\n\nSee RFC-1918, RFC-3927, and RFC-1122.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add tests for unroutable, etc"}},{"before":"477569d1aceb2d90ef45579b109b8dfdd8be31f5","after":"dbff06f1d4dcc23174186adeff5c834eb61ea831","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-12-11T06:49:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add tests for unroutable or link-local\n\nSee RFC-1918, RFC-3927, and RFC-1122.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add tests for unroutable or link-local"}},{"before":"5686ad12d8518b0cdbbac107ac5bc0dc114a2be2","after":"477569d1aceb2d90ef45579b109b8dfdd8be31f5","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-12-04T18:45:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}},{"before":"bd636b582e86f265101b146055e7391152f7a1f6","after":"5686ad12d8518b0cdbbac107ac5bc0dc114a2be2","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-11-27T04:03:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}},{"before":"6ec85f8769271fbc69cb70536f50f4d4cbe1d2d0","after":"bd636b582e86f265101b146055e7391152f7a1f6","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-11-23T20:03:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}},{"before":"9f1463e3fc4a809ea58384285cb13d37070389e3","after":"6ec85f8769271fbc69cb70536f50f4d4cbe1d2d0","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-11-21T23:01:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}},{"before":"74ebcc153412850c99213522b3cd07c7f1b12314","after":"9f1463e3fc4a809ea58384285cb13d37070389e3","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-11-21T21:56:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}},{"before":"3fd1813e656169fffbc9996f315b9ea297e3e073","after":"74ebcc153412850c99213522b3cd07c7f1b12314","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-11-21T20:46:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}},{"before":"0a0deaeeb3f2e1950df697cd01377f7708cd9d5a","after":"3fd1813e656169fffbc9996f315b9ea297e3e073","ref":"refs/heads/ipcalc-rewrite-sh","pushedAt":"2023-11-21T20:42:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pprindeville","name":"Philip Prindeville","path":"/pprindeville","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/187120?s=80&v=4"},"commit":{"message":"base-files: ipcalc.sh: Add netmask2prefix function\n\nAlso add is_contiguous to check if it's a valid netmask.\n\nSigned-off-by: Philip Prindeville ","shortMessageHtmlLink":"base-files: ipcalc.sh: Add netmask2prefix function"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQtaq-AA","startCursor":null,"endCursor":null}},"title":"Activity ยท pprindeville/openwrt"}