From nobody Mon Mar 9 20:46:23 2026 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV8F90yHHz6TvdX for ; Mon, 09 Mar 2026 20:46:37 +0000 (UTC) (envelope-from zmey20000@yahoo.com) Received: from sonic313-20.consmr.mail.gq1.yahoo.com (sonic313-20.consmr.mail.gq1.yahoo.com [98.137.65.83]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV8F8599fz3GXM for ; Mon, 09 Mar 2026 20:46:36 +0000 (UTC) (envelope-from zmey20000@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=oMBgyrs4; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of zmey20000@yahoo.com designates 98.137.65.83 as permitted sender) smtp.mailfrom=zmey20000@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1773089189; bh=d071IEzh6niK1Q7+nTeFwewAiPInBL43W3RuVnz5M2s=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=oMBgyrs4t7Kqf7QRx7oMoVKdEcQW6Qf+5N5Jud1dS4oDghXjfAyfn1KP4HN7vl4nIbUbJk+XKf15wF8pif4wXIYvVs/oRcFNSQ3DIu4Q/CXDIDw4MYNTZQbTFrdvOvxmeMnIeBjRpqLp1z1Sl2PQJgv2XVHkqlx6Kky3ls5EFxjTcZJdobg4rt/ZNDcdMZGsPrh7me6ZOZGNYN+vdqGewK0mE+94fuI8XvH9a+L0fgc2JZ1w3MZqj/LhVuk9nYkAnZ59/GoSKYcu8KrpoYqsdQMU2O14w2P3Ukp+f7fIDy1eNHe6mCV85VJ4DLzZ3sf8VFgNaWXPR7XYjqrZ3DoxfQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1773089189; bh=oEu4UImZ2udVD1N9ygcmBQBfgFpgKyG7FU9FQUua3gh=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=fMxt3BBrBrz5eMPOkqx46HQozHrYBF0oZh3IRxhoGB0Qc6XCCex0JjYmgYKV/DgEvD6xlPwHrpWzQmosadJrUgJDSeGvX3PFkPfhzzoJKh/XQpDXjpA+AQYdBtjF0RneQ9WiLf65b90IrShF+mXecL1K1CLkkLLr8fBMvkqczE9QVj9NLH7wMUtiXgXHui11pq+3laXuo2dM+NvH3gLmio1ef0fVRNibjKhh19k/xCx2gNCiCbs0PQLMDDu9WdeCNb/2M/An1KcATqnrqZRxooNeP+/dWnCWHQ1ZI/yQG7rRI3/rjFNx0AvLeXEeepb3nQlMlXh3/apalkf+bCtnPA== X-YMail-OSG: UpEX4nYVM1kKTzHJB6HokM11T1y0uUTAedhyRh1x3gs1vIk4qhJ6MLPpnYrd0aN rlDf2dUhdiWEFMB1NBFIgGd.W3lyahllXvnDBRBjZ7Y0KGacw9twx9K0sWEH3YBLQKD0NTMOvR1k xcskNWb3mmmTxD5YbUw8pgGLZHFGV6196iFSNcEl5oqqneRNgTdgo11Env1HQD1RNE1_BsWCvjBC QJNDDWi2MCGlDEvkwHGMlRenunqFNQ.5.xOnffVxMnHzNyTvcujOk7VO2TFX__Oym5I16J0S0Xop ISwvgHxHhZZhU_9hZT6Qa174EhvU8m6h5Tn9.wC0qdNFJ4LUpf2QsllIlbqmpdaj9wpIVmGT1kr7 2aniqGR93n3hIwWuAVBdhUa6WQpc2ltbLr6P671Yp_jiNVYq2HYOQdXfsuniZJvWYDJZpNdQjVco vf4MdVAdxE9cQwG95vMKxY7ClsV.8pmQpXTqiPYnClDpaMj.qzNnguLOqlnU2okyv.SHBoHiR8wX KwKAVVH.TXO.t381jUAIUSwDPevraScPAaKTXTIpxYzoZjjTS22RWegQWM4WyAGmeXYqOqBEWIoI yq1P1RODQ7AvYPN5utxsBCyiMo12cI9zGKMAlVzT6hrYDUVnc2IQXW13eGYz3.Ivkmv.StOonbvC q7O9Y51gryO5NpVzGIYfMT8Off3qssadQh0D3jGZq3bB45QQWybXvjT_8yX8ECGXxfMIusoEGjL9 5783uyJtC4FOWOZc5FAMlRrutrn6Q0en_DtJVwr2LV2u5UBVPi9TzMx1s57nkobBeEQ0jQhq2BUb Y5W06uhoKsjDstAd30fywTINgghTKbnduYjMHg4gh9eHj6Ore3U.WxLPa2.gdM19aVvQ2LAOQ3o1 PpDFH7ehwRIt1smff_jCKKM_Co64ZyxWGutCIu66uVxrKrURWPJqrysYcQv7uqam9IRUJnsTj1ln FiR9QqgyLooINqRPduGpSvZu4c8qRoAiPAyxONEmyNXEtlwhJOWnlOBzMjc.PcmEaNi5.WK38p5L kzdkRPt32LfuPyGJyGXCL0QDYGQy2aVHPvZaxPk0EHZnTeU5_Z9.SCQDeX8muck5ZuY3R1EQOQ5l UZSWLrUxPO6XhdZMPudQ1K76wTXn7cTWulc1t9iY1_WZaFBVf2lyEEm9UeH0w4unwExnnFsg9Te4 ZzuhVog9CHRisrRMDxNRES_fMk3YJORUqNew2macHlImY6FlydIQo2KdbsOW9efjtBeARTn_rUSe LhCf6wXbhzwdpe0wSBEFvFv3WbGbSKmP8Zyin9BlLYWDL6q1LFJW8C7lO_74CDjgeaAeFpU25AmI fYklib2mD43KXFWU0u_IE30eTDJx0e21VzoWYD8gDTGtNMyjA_znc7TEAOHG9X9j2JGqo3GvPhxh Kivxoseu4oj46nltRzrWRfWIq0cRMLIDmMHpGAuvYuKgJHy3xf2rYB2sL19mV_PEG_M6zFnu9Puh 92RYuMulZTjW_BSvRTJJbYIV1JCGIGY8.2081NBA805hCvRd_MVtzpZ12Fjmfs4EdDphvMWQs_13 N6vdGBQUJa2giJ9g4wvaBzfG0hxFzcbbLnuzl2IdFOcI4WLLeRGsBwVdYAI0uJmHQfj1RlzkUmgC B.Ph59XLqyXog_6ptJ3H83641k8l8u55nUWFUBReqkvdTtEHmgZ.1U5sf0qu3eVQlMdlV3R7xhqn wPjP9sQUiTbmURe.RCbXR_myVMTAdoUluMg2VcfIDP3CUemv6qgZQvxCD4ttB2mfRGaD.oF4GAvx 0IVxEu6IzUfblHMAFO9DQn_mv3SKzP8Q2R0mwBYXAA97L6y.dehJi35m7lYbW6MiW4J0vTL460YQ 6Bj_nW_Jutb18W2CxFo34LY5m3zADB6pfkscyOQ79ydE.SI2qLX4xRlFZPjmoddkROsnAV4CJ4U3 R6eglbCNAkSMcilX4wBcyLB6LpdIrCZAkEwQygONHSNQ5Rp7Vs5c8KJSj5_gyWbSQv7JRHh0WEzD ubzwAEceCz77vOd6WsLgHnItYrdKUOM42LAvgh2Z9Bn9um5NSSYgqWU36APrppsRRiDWI0ZFoVUC QY8Nee1338taQuctuhaujWVqL7ZYCLiZ9kQoUhQSXeCYk4GgoMuBkIoF6pXSmeZAiSZxPWP8Uxqq NaxPgAfEGevg.3nZYXFOXmhMTEBgKbEovMzZ5Dg0iVyRIhWzxc0r7qug- X-Sonic-MF: X-Sonic-ID: 3051b645-e464-4c9b-83b6-25b7a4a98ec0 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Mon, 9 Mar 2026 20:46:29 +0000 Received: by hermes--production-ir2-bbcfb4457-p7tzh (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID ded00c1ae12c4c4836bd87529eff0eca; Mon, 09 Mar 2026 20:46:27 +0000 (UTC) Message-ID: Date: Mon, 9 Mar 2026 21:46:23 +0100 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Practical suggestions for resolving the Brazilian problem To: vermaden , Vincent Bentley , "freebsd-pkg@freebsd.org" , freebsd-hackers@FreeBSD.org References: <08dc619e-955a-438d-86ba-751b1fa63bce@vincentbentley.co.uk> Content-Language: en-US From: Mikhail Zakharov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Mailer: WebService/1.1.25198 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Spamd-Result: default: False [-3.81 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.81)[-0.805]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_TO(0.00)[interia.pl,vincentbentley.co.uk,freebsd.org,FreeBSD.org]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.83:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@FreeBSD.org]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.83:from]; HAS_WP_URI(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-Rspamd-Queue-Id: 4fV8F8599fz3GXM X-Spamd-Bar: --- I'm unsure if all those legislation initiatives will be implemented, anyway, what's about having a dirty hack to store age in the comment field of passwd? Something simple like below: getage() {     username="$1"     pw usershow $username -7 |         awk -F ':' '$5 {split($5, gecos, ","); print(gecos[5])}' } setage() {     username="$1"     userbirth="$2"     gecos=$(pw usershow $username -7 |         awk -F ':' '$5 {split($5, gecos, ","); printf("%s,%s,%s,%s,", gecos[1], gecos[2], gecos[3], gecos[4])}')"$userbirth"     pw usermod $username -c "$gecos" } All the best, Mike On 3/5/2026 3:39 PM, vermaden wrote: > The 'thesmartski' from X implemented some simple workaround: > - https://x.com/thesmartski/status/2029116808066646416 > > Regards, > vermaden > > > > Temat: Practical suggestions for resolving the Brazilian problem > Data: 2026-03-05 13:32 > Nadawca: "Vincent Bentley" <vince@vincentbentley.co.uk> > Adresat: freebsd-pkg@freebsd.org; > >>> Originally posted to forum: >> https://forums.freebsd.org/threads/practical-suggestions-for-resolving-the-brazilian-problem.101913/#post-748010 >> >> I am not conversant in Portuguese so I don't know if this is already >> being discussed on the Brazilian list. I apologise if this is already >> being dealt with. >> >> On March 17, 2026 the Brazilian government will be enforcing a new law >> that requires age verification of the users of a computer operating >> system. This thread is to discuss how the FreeBSD developers could >> resolve this problem within the next 11 days. Please add your own ideas >> and pick apart any/all that have been posted. >> >> Summary in English >> https://fpf.org/wp-content/uploads/2025/12/Issue-Brief-Brazils-Digital-ECA.pdf >> >> 1. Geo-block Brazil from image downloads and from pkg repositories. >> This is an extreme solution that will alienate the Brazilian user >> community, but it is the quickest to achieve given the lack of time. >> >> 2. Modify pkg so that it can accurately geo-locate by the public IP address. >> If a Brazilian IP address is detected, pkg requests the email address of >> a human installer over the age of 18 that is responsible for the system. >> Pkg will no longer install or update until a token received by email >> from pkgtoken@freebsd.org is entered into pkg. >> >> Pkg will also have to state on every execution that the FreeBSD package >> repo is for 18+ users only and it is the responsibility of the system >> administrator not to permit use of the system by minors. All existing >> FreeBSD systems will remain usable in a pre-enforcement date state. >> However, they will not be able to update until the sysadmin confirms to >> pkg that the system is for 18+ users only. If the public IP address >> changes, pkg will have to request a new authorisation token to continue. >> This is the only way to deal with geo-locating dynamic IP or portable >> systems that are travelling (visiting laptops). >> >> The authorisation token does not need to be individual to the machine. >> A simple method of using a token matching the last 8-bits of an IPv4 or >> IPv6 address is good enough. Every quarter, regenerate those 256 tokens >> and save them on a private system area of the package repo. An already >> authorised pkg will automatically rollover to the new token without >> human intervention. Yes, someone could map the bit to token > assignments >> every quarter and publish them, but the new pkg program must save the >> email address and display it every time pkg is run. Whoever runs > package >> will see the email address that was used to obtain the token. >> >> If a fake email address is used with published tokens, then the >> Brazilian authorities have the problem of identifying the sysadmin and >> the token publisher. The sysadmin becomes the criminal. >> >> Pkg gets updated every quarter to recognise the new set of 256 tokens >> used by the FreeBSD repo. If pkg is used in Brazil without a valid > token >> it fails safe (legally, not functionally) by not updating and not >> installing software until a sysadmin has submitted an email address to >> receive an unlock token. >> >> If pkg is used against a private repo, such as a Poudriere built repo, >> then no email address or token checking is required. Whoever operates >> the Poudriere repo is the software distributor. >> >> -Vince- >> >>