From owner-freebsd-hackers@freebsd.org Tue Mar 19 21:10:47 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DD0A7153A267 for ; Tue, 19 Mar 2019 21:10:46 +0000 (UTC) (envelope-from m.kaniewski@fudosecurity.com) Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6D4E16F8B1 for ; Tue, 19 Mar 2019 21:10:45 +0000 (UTC) (envelope-from m.kaniewski@fudosecurity.com) Received: by mail-lf1-x135.google.com with SMTP id u68so232123lff.7 for ; Tue, 19 Mar 2019 14:10:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fudosecurity.com; s=gmail; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=aKyEAI9etSZrs4bNAutZYIWXUDxEjnVoVDOMktA25Dk=; b=frR+3ImSSdWVsJpoX5j/fnTkHexVt6LJpV6hqzl1CT7v80KrDkyz6ZOER2txDeOgPF GEJio9e5eqOOUGPK1Vstz4KYo5CRMIcn3nOStsx/HQhdX48M0hQSlUcrX/ZRCt6rdMEy /O7A65lpqpuQpTookkN2L/wsZxpDQ7bYLci1o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=aKyEAI9etSZrs4bNAutZYIWXUDxEjnVoVDOMktA25Dk=; b=Mc+SPNBpheO63s4NTTRtzlAxpjHlPpQLz62kdc4C3kF2z0TcIiK/FTghPvQO4kDxyz 5y/0IvteXPEkC7nTHpApC9xfZWw3MvlKjkrMftlDJHJiqGeKarEEkNzYcHuB57+C7lpI x90FqHFsHmgDT+2PDkZ49q6IMFHzFWO69riKRZ6HEsOaUSzQoLAF5XTY0ucr00BnM79D T01NybzobEZ0Yzkxb7GhEFm2vg66aUQdhaKCibgdyyI5PFdU5oyO+24aL1ulYLlHDf5B OdFLLTnkanV5gCS8AMX+1BI3AvYhKjPqlIc0sAC2/Uj/qCrOEt4+lFDB2GR8/4xgp83u ZMhg== X-Gm-Message-State: APjAAAW4LkN/MnFEkecWoiDW0uCiapfLBS8qlowaEstmzrn8OEGY1H4r imVyzZIand6OmYRMmVJ7BfxqrSLmwa4w/HuTVQQSKZz+E3s= X-Google-Smtp-Source: APXvYqx4Q29SqggUwe+AgyuOto1MsxRsd3mbxOMdAuvv0AObpHn6xT472eiZ1Z2DsPn/AL9y9lkF6iOZkZzPfciv6dg= X-Received: by 2002:ac2:515b:: with SMTP id q27mr13968760lfd.110.1553029843671; Tue, 19 Mar 2019 14:10:43 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Mi=C5=82osz_Kaniewski?= Date: Tue, 19 Mar 2019 22:10:21 +0100 Message-ID: Subject: sched_pickcpu() and a pinned thread. To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6D4E16F8B1 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=fudosecurity.com header.s=gmail header.b=frR+3ImS; spf=pass (mx1.freebsd.org: domain of m.kaniewski@fudosecurity.com designates 2a00:1450:4864:20::135 as permitted sender) smtp.mailfrom=m.kaniewski@fudosecurity.com X-Spamd-Result: default: False [-6.05 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[fudosecurity.com:s=gmail]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; DMARC_NA(0.00)[fudosecurity.com]; DKIM_TRACE(0.00)[fudosecurity.com:+]; MX_GOOD(-0.01)[alt1.aspmx.l.google.com,aspmx.l.google.com,alt3.aspmx.l.google.com,alt2.aspmx.l.google.com,alt4.aspmx.l.google.com]; RCVD_IN_DNSWL_NONE(0.00)[5.3.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.72)[-0.717,0]; IP_SCORE(-2.83)[ip: (-9.59), ipnet: 2a00:1450::/32(-2.37), asn: 15169(-2.11), country: US(-0.07)]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2] X-Mailman-Approved-At: Tue, 19 Mar 2019 23:19:17 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Mar 2019 21:10:47 -0000 Hi, I have an application which exchanges packets between two NIC ports. Most of a CPU time is therefore consumed by the userspace process and two IRQ threads. All of them are pinned to the same CPU using cpu_setaffinity() function so I expect that the scheduler usage should be minimal even on a high network load when a lot of interrupts are generated. I recently find out that my application spends a lot of time in cpu_search_lowest() function. A backtrace shown me that cpu_search_lowest() is called by sched_pickcpu(). I tried to analyze this second function but I don't know what exactly should I expect from it if my thread is pinned to a specific CPU. I assume that the function should get to a point where ts->ts_cpu is returned. However it doesn't do it and sched_pickcpu() always ends looking for the lowest busy CPU using cpu_search_lowest(). In result it finds the CPU that the thread is pinned to but it is very time consuming process. Therefore I suspect that sched_pickcpu() should return before that happens. For interrupt threads I see that there is a special case at the beginning of sched_pickcpu(): /* * Prefer to run interrupt threads on the processors that generate * the interrupt. */ pri =3D td->td_priority; if (td->td_priority <=3D PRI_MAX_ITHD && THREAD_CAN_SCHED(td, self) && curthread->td_intr_nesting_level && ts->ts_cpu !=3D self) { SCHED_STAT_INC(pickcpu_intrbind); ts->ts_cpu =3D self; if (TDQ_CPU(self)->tdq_lowpri > pri) { SCHED_STAT_INC(pickcpu_affinity); return (ts->ts_cpu); } } However IRQ threads from the NIC doesn't fall into this case because ts->ts_cpu =3D=3D self (these variables are equal to the CPU to which my threads are pinned). Is this check required? For non-interrupt threads there are some other possible options where ts->ts_cpu is returned however I am not sure which should handle a pinned thread. I would be grateful if someone would give me some clue how should I understand the sched_pickcpu() function and when it should return in case of a pinned thread. Thanks Mi=C5=82osz Kaniewski From owner-freebsd-hackers@freebsd.org Wed Mar 20 01:01:39 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7672F154314B for ; Wed, 20 Mar 2019 01:01:39 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-it1-x142.google.com (mail-it1-x142.google.com [IPv6:2607:f8b0:4864:20::142]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7938676BEA for ; Wed, 20 Mar 2019 01:01:38 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-it1-x142.google.com with SMTP id h9so7885405itl.1 for ; Tue, 19 Mar 2019 18:01:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=BW9QCfCQCd8XajAXVaVwDVWNoBB9ucVYSk9VfF9n980=; b=Drx+xtY6cNkxelW7bBbQsGztXl84l25pEm46EDQqIpCofL8llwtuYNTp/efs5OD23r ws31jkJtA23uFLBaXidhOB+ArZ7VWYowfw5LMpfp5DcBvSGDlmMTkJcPi54u9FKdjJxn BNZr7V0STq9h7369oIXbwvch8qN1LwxHeK5xC8Yf0HCl9zol7psVTJ41xmQGbxdPCpyg FPZvyMM2hMFsV7HYMVygb02x4yLqhKgm10VOgJ/65hKQB0PomB5IGYH+HuYwHUT64Roq XUjdF8ost+UzKfiU7ZAi9ROEnS2l6RDS1vYL/YLDI/eg7LoDiVexQ+GdFyjTD0yOEVZs psmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=BW9QCfCQCd8XajAXVaVwDVWNoBB9ucVYSk9VfF9n980=; b=TqM6jJPP9Uqgwfd7pyqCCww0ePVTDK2t/X1u6g44HYwXS4yHSSzdtlVrBLHilAYga8 d98Cgy1fE4BGztArc27H5jGQkAvBwnZtK8ZlRfdTMNkEFfabn0KHsT0fgVPvg4vWQZLx v+odFrsyYAyMKFbELucG40wBsSlVVEwcB3BCFf98nBmWk9eMA+60rW9Vz0IaeSvpHq6+ /Qb1qLVy45PPoPXcujMy/91WtPnLkaMkt7gq1pEBflPGk2TPLNV3i1PfxeR3gjTbiO2V utHn6s5p7xKWqUxRlK/+yLJqXXcOliEEz6JJ38RGfcazZ1/QisUAr0TATWTw3DFBu3u4 AafA== X-Gm-Message-State: APjAAAWvdy+gorgTLIuJyyqkN0030KsH6hXiOPW+15Ql6/RmjqBrvOxR I3IwqOm+zNfXatDfS2/ZSHXFFU1X X-Google-Smtp-Source: APXvYqzxz3yAW+cvPhWb/gXxBfQo6v2H8CRGP3roWsKExpFjRYD7ndDYuO4XYL8PQRS9TIOuCLDmtg== X-Received: by 2002:a24:390a:: with SMTP id l10mr2724350ita.145.1553043697674; Tue, 19 Mar 2019 18:01:37 -0700 (PDT) Received: from raichu (toroon0560w-lp140-01-69-159-36-102.dsl.bell.ca. [69.159.36.102]) by smtp.gmail.com with ESMTPSA id t23sm284935ioj.19.2019.03.19.18.01.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 19 Mar 2019 18:01:36 -0700 (PDT) Sender: Mark Johnston Date: Tue, 19 Mar 2019 21:01:34 -0400 From: Mark Johnston To: =?utf-8?Q?Mi=C5=82osz?= Kaniewski Cc: freebsd-hackers@freebsd.org Subject: Re: sched_pickcpu() and a pinned thread. Message-ID: <20190320010134.GD74753@raichu> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.11.3 (2019-02-01) X-Rspamd-Queue-Id: 7938676BEA X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Drx+xtY6; spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::142 as permitted sender) smtp.mailfrom=markjdb@gmail.com X-Spamd-Result: default: False [-3.20 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.92)[-0.924,0]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.4.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.57)[ip: (2.11), ipnet: 2607:f8b0::/32(-2.79), asn: 15169(-2.11), country: US(-0.07)]; MID_RHS_NOT_FQDN(0.50)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2019 01:01:39 -0000 On Tue, Mar 19, 2019 at 10:10:21PM +0100, MiƂosz Kaniewski wrote: > Hi, > > I have an application which exchanges packets between two NIC ports. > Most of a CPU time is therefore consumed by the userspace process and > two IRQ threads. All of them are pinned to the same CPU using > cpu_setaffinity() function so I expect that the scheduler usage should > be minimal even on a high network load when a lot of interrupts are > generated. > I recently find out that my application spends a lot of time in > cpu_search_lowest() function. A backtrace shown me that > cpu_search_lowest() is called by sched_pickcpu(). I tried to analyze > this second function but I don't know what exactly should I expect > from it if my thread is pinned to a specific CPU. I assume that the > function should get to a point where ts->ts_cpu is returned. However > it doesn't do it and sched_pickcpu() always ends looking for the > lowest busy CPU using cpu_search_lowest(). In result it finds the CPU > that the thread is pinned to but it is very time consuming process. > Therefore I suspect that sched_pickcpu() should return before that > happens. > > For interrupt threads I see that there is a special case at the > beginning of sched_pickcpu(): > /* > * Prefer to run interrupt threads on the processors that generate > * the interrupt. > */ > pri = td->td_priority; > if (td->td_priority <= PRI_MAX_ITHD && THREAD_CAN_SCHED(td, self) && > curthread->td_intr_nesting_level && ts->ts_cpu != self) { > SCHED_STAT_INC(pickcpu_intrbind); > ts->ts_cpu = self; > if (TDQ_CPU(self)->tdq_lowpri > pri) { > SCHED_STAT_INC(pickcpu_affinity); > return (ts->ts_cpu); > } > } > However IRQ threads from the NIC doesn't fall into this case because > ts->ts_cpu == self (these variables are equal to the CPU to which my > threads are pinned). Is this check required? > > For non-interrupt threads there are some other possible options where > ts->ts_cpu is returned however I am not sure which should handle a > pinned thread. > > I would be grateful if someone would give me some clue how should I > understand the sched_pickcpu() function and when it should return in > case of a pinned thread. sched_pickcpu() fetches the current cpuset's mask immediately before calling sched_lowest(). In sched_search(), we skip over CPUs that aren't in the mask with the check CPU_ISSET(cpu, &lgroup.cs_mask). So eventually it finds the CPU to which the threads are pinned, but the current algorithm does seem rather inefficient for your case. As an experiment you can try the hack below to see how much better you can do if sched_search() is avoided entirely. I did not test it at all, so be careful if you try it. diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index b20604d11274..0f105480a871 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -1314,7 +1314,9 @@ sched_pickcpu(struct thread *td, int flags) cpu = -1; /* Search the group for the less loaded idle CPU we can run now. */ mask = td->td_cpuset->cs_mask; - if (cg != NULL && cg != cpu_top && + if (CPU_COUNT(&mask) == 1) + cpu = CPU_FFS(&mask) - 1; + if (cpu == -1 && cg != NULL && cg != cpu_top && CPU_CMP(&cg->cg_mask, &cpu_top->cg_mask) != 0) cpu = sched_lowest(cg, mask, max(pri, PRI_MAX_TIMESHARE), INT_MAX, ts->ts_cpu); From owner-freebsd-hackers@freebsd.org Wed Mar 20 09:56:26 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 64DEF154DF92 for ; Wed, 20 Mar 2019 09:56:26 +0000 (UTC) (envelope-from j.deboynepollard-newsgroups@ntlworld.com) Received: from know-smtprelay-omc-8.server.virginmedia.net (know-smtprelay-omc-8.server.virginmedia.net [80.0.253.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "Virgin Media Core Infrastructure Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 2DF6C8E113 for ; Wed, 20 Mar 2019 09:56:23 +0000 (UTC) (envelope-from j.deboynepollard-newsgroups@ntlworld.com) Received: from lowlord.jdebp.computer. ([86.10.101.211]) by cmsmtp with ESMTPA id 6XsThsk9YUyim6XsTh2CU1; Wed, 20 Mar 2019 09:51:18 +0000 X-Originating-IP: [86.10.101.211] X-Authenticated-User: J.deBoynePollard-newsgroups@NTLWorld.COM X-Spam: 0 X-Authority: v=2.3 cv=XubUx2N9 c=1 sm=1 tr=0 a=FQ5CjUvp3JFI4KFGyeqcZw==:117 a=FQ5CjUvp3JFI4KFGyeqcZw==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=r77TgQKjGQsHNAKrUKIA:9 a=2rVjqWD_AAAA:8 a=itly7gIdAAAA:8 a=KKZkPlKt39DXFXvFVhwA:9 a=pILNOxqGKmIA:10 a=TREof4gn5rEA:10 a=SG6YEntMTh0A:10 a=-FEs8UIgK8oA:10 a=NWVoK91CQyQA:10 a=aMZZjCTJz6vrcq8VpwcA:9 a=7a3mb-t8aOXwiuQx:21 a=_W_S_7VecoQA:10 a=ULaUcM2Ibn9MdPUUwucP:22 a=1RpNR2E4bTkVPcsa2RFZ:22 Subject: djbwares version 9 To: Debian users , FreeBSD Hackers , Supervision References: <736737774.3548811.1490898899979.JavaMail.open-xchange@oxbe11.tb.ukmail.iss.as9143.net> From: Jonathan de Boyne Pollard Message-ID: Date: Wed, 20 Mar 2019 09:51:16 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: X-CMAE-Envelope: MS4wfIvz4Jy1KUUpncXCMiU+dz5Pc9hDZQUy+tv++zH1fm+vTJSCkZ+j0CeoMoV4PfCcKAAMV8KUMfZiDjvZA2SGfgYuHa2q1bOhbRsR9xNZ2NLptdP61lWK 1ZRcanQ5G6QYVT9d5tSbmITKNM0nRk8nvIMbGFQWbDbp4OtSI6SWcd4DWm/6g/xQ9JW1iMsW1PMs0zgPvz3ZeNx7PpKgYU+j6EqKgC0mpTcz/IrFFLEs8uZU gyQjn8+JPanfF/RnM22BS+KidHiE9vzAhfnw8xfdMyJvu7CgMf+zQt3FJ6NJR4hrq5laNEEuWAr8F9JlZjoaxw== X-Rspamd-Queue-Id: 2DF6C8E113 X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.38 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.90)[-0.899,0]; R_DKIM_ALLOW(-0.20)[ntlworld.com:s=meg.feb2017]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:80.0.253.64/28]; NEURAL_HAM_LONG(-1.00)[-0.996,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; NEURAL_SPAM_SHORT(0.55)[0.547,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[ntlworld.com:+]; DMARC_POLICY_ALLOW(-0.50)[NTLWorld.COM,quarantine]; RCVD_IN_DNSWL_NONE(0.00)[72.253.0.80.list.dnswl.org : 127.0.5.0]; MX_GOOD(-0.01)[mx.mnd.ukmail.iss.as9143.net,mx.tb.ukmail.iss.as9143.net]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-0.02)[asn: 5089(-0.01), country: GB(-0.09)]; ASN(0.00)[asn:5089, ipnet:80.0.0.0/16, country:GB]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2019 09:56:26 -0000 The djbwares package is now up to version 9 . * http://jdebp.eu./Softwares/djbwares/ * http://jdebp.info./Softwares/djbwares/ This version sees changes to the doco and to the DNS and HTTP servers. FreeBSD binaries ================ I plan for this to be the last release with binaries built on FreeBSD 10. I am going to upgrade the build machine. Doco ==== All of the manuals are now DocBook XML, and the hodgepodge admixture of manuals from three sources is gone. A stylesheet is supplied for reading the manuals directly using a GUI WWW browser. They can also be read using the |console-docbook-xml-viewer| tool from version 1.40 of the nosh toolset. The long-missing |tcp-environ| manual is now present. HTTP servers ============ Hand in hand with the documentation improvement, |httpd| now has content types for the |.xml| and |.xhtml| filename extensions. DNS servers =========== * http://jdebp.eu./Softwares/djbwares/qmail-patches.html#any-to-cname * http://jdebp.info./Softwares/djbwares/qmail-patches.html#any-to-cname The |ANY| query type in the DNS has never meant ALL, and has never really been useful. Pretty much only one software even made use of |ANY| for non-testing purposes. That was qmail, which I patched not to do so back in 2003. Although the diagnostic tools still support sending |ANY| queries, with one exception, in this release all of the DNS server softwares now synthesize non-responses, containing an invariant |HINFO| resource record set, to |ANY| queries. The specialized content DNS servers simply return such responses straightforwardly, as they do not have to worry about |CNAME| chains, which they do not ever construct. The other DNS servers have to handle |CNAME| chains. The general-purpose |tinydns| and |axfrdns| content DNS servers will continue to process |CNAME| chains as before, but will return a synthesized |HINFO| resource record set at the end of the chain. |dnscache| also processes |CNAME| chains as before, again returning the chain with a synthesized |HINFO| resource record set at the end. It no longer allows |ANY| queries as a loophole for retrieving cache contents, and will not issue |ANY| queries from its back end. The diagnostic tool that is the exception is |tinydns-get|, whose operation is supposed to exactly replicate what |tinydns| does. It, too, now synthesizes non-responses when an |ANY| lookup is requested. From owner-freebsd-hackers@freebsd.org Wed Mar 20 10:10:49 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3CDDA154E913; Wed, 20 Mar 2019 10:10:49 +0000 (UTC) (envelope-from shreyankfbsd@gmail.com) Received: from mail-yw1-xc2e.google.com (mail-yw1-xc2e.google.com [IPv6:2607:f8b0:4864:20::c2e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 384128ED7E; Wed, 20 Mar 2019 10:10:48 +0000 (UTC) (envelope-from shreyankfbsd@gmail.com) Received: by mail-yw1-xc2e.google.com with SMTP id a199so1547480ywa.0; Wed, 20 Mar 2019 03:10:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=Ci1qgQz4rDm0cRtveWgwh1xHJ53OdowRG+7WytjSvO8=; b=k5aqLdrXdzN6x3zfns10VrkRWZTHsd5JV69syu8fhR8O5gwaUttCWf5/TIt5k3lnVU EkeaHMLBLgXsLdBVLIIQscCF+mzlvXNVijpB2m3hRnCYQ15SL8N4N7aFEKxBXWRT2yxd Ut6DEPC4Zc6dqflgXKDFVsCpxMJjpIggg/sRkebWp1x3BxxoGCguEq9dljTAp1ZTAzOx pIVL+9cU8FXZEcD9BqK8I4ijXkGjAYzi5bevjmv6UTioiNbDLu3iFqQBsqbWPEgdktHf VenWEpDT0lb6YpWoOJjmhyKk8b6jqxX3SKZ3RmND4qG1C5bezIfKC5C3DtgTAGiaQ5wU A34g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Ci1qgQz4rDm0cRtveWgwh1xHJ53OdowRG+7WytjSvO8=; b=TUl3adMdC/OsI0eSOglh1nEkBjWUkdkmlpcslF5yok7HoncTIZGhHCWhuUOAIMLWh7 /pGAFiFBYHbIJbvBif3eqZ94lYCWOEOO8yJJHCbBdE4yDJnYPPCQkqDsEEsYMiG+kti1 RP3UyY1vsU8QAafE1lTkhJMhVfm5Ivcauxti6XVLCmMrUnRX2e8CqKPtHU41VKik5ppS LvPPc5quXdVBQ3HgXJTmtZuHAL+qldqZoQYwromC+4f4G0wCTJ9ugh+LXVi4ueWsxWyh irBCz8hESehTQsS+KTLJXsPHZ5inLowDzn/jKW1B5JzGbAjfawrGLS6XtVPiX2eghAF+ bBRw== X-Gm-Message-State: APjAAAWJF9StKanV2+5MIeGAZHNuQXszB/VqVIoW+diGuRf3sAwqnsiK pd7lMkh7JAqSlpwyjZZoXwBTjiuvcqLVRcycWnmQ X-Google-Smtp-Source: APXvYqwOH+5VDSIuCztfhyDxEj+SpAag3zsT7/p2sGyUNOwIEQtCt8wIX37HeIkeno3EHyVDDjGE0JJcg+JFLoW2P6A= X-Received: by 2002:a25:6151:: with SMTP id v78mr6192128ybb.359.1553076647286; Wed, 20 Mar 2019 03:10:47 -0700 (PDT) MIME-Version: 1.0 From: shreyank amartya Date: Wed, 20 Mar 2019 15:40:36 +0530 Message-ID: Subject: iflib To: freebsd-drivers@freebsd.org Cc: freebsd-hackers@freebsd.org, mmacy@mattmacy.io X-Rspamd-Queue-Id: 384128ED7E X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=k5aqLdrX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of shreyankfbsd@gmail.com designates 2607:f8b0:4864:20::c2e as permitted sender) smtp.mailfrom=shreyankfbsd@gmail.com X-Spamd-Result: default: False [-6.65 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[e.2.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_SHORT(-0.88)[-0.875,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-2.77)[ip: (-8.88), ipnet: 2607:f8b0::/32(-2.79), asn: 15169(-2.11), country: US(-0.07)]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2019 10:10:49 -0000 Hi, I'm working on writing a device driver for xgbe using iflib. In the iflib interrupt allocation routine: iflib_irq_alloc_generic (sys/net/iflib.c), if the interrupt type is specified as IFLIB_INTR_ADMIN the variable tqrid is set to -1. Based on tqrid check there is a call to taskgroup_attach, but the function would not reach the condition check (if (tqrid != -1) if the type is IFLIB_INTR_ADMIN, which makes me think this might be an error. Can anyone please clarify if this behavior is intentional or this could be an error. Thanks Shreyank Amartya From owner-freebsd-hackers@freebsd.org Wed Mar 20 10:23:40 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CCB8D154F00C for ; Wed, 20 Mar 2019 10:23:39 +0000 (UTC) (envelope-from j.deboynepollard-newsgroups@ntlworld.com) Received: from know-smtprelay-omc-8.server.virginmedia.net (know-smtprelay-omc-8.server.virginmedia.net [80.0.253.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "Virgin Media Core Infrastructure Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 7AFB98F8B1 for ; Wed, 20 Mar 2019 10:23:38 +0000 (UTC) (envelope-from j.deboynepollard-newsgroups@ntlworld.com) Received: from lowlord.jdebp.computer. ([86.10.101.211]) by cmsmtp with ESMTPA id 6YLphsslJUyim6YLph2E3M; Wed, 20 Mar 2019 10:21:37 +0000 X-Originating-IP: [86.10.101.211] X-Authenticated-User: J.deBoynePollard-newsgroups@NTLWorld.COM X-Spam: 0 X-Authority: v=2.3 cv=XubUx2N9 c=1 sm=1 tr=0 a=FQ5CjUvp3JFI4KFGyeqcZw==:117 a=FQ5CjUvp3JFI4KFGyeqcZw==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=r77TgQKjGQsHNAKrUKIA:9 a=2rVjqWD_AAAA:8 a=itly7gIdAAAA:8 a=s1G7sxBSAAAA:20 a=Ye9q-bpsAAAA:8 a=mDV3o1hIAAAA:8 a=FP58Ms26AAAA:8 a=J6JQbmJCM4Syb3zGLXMA:9 a=VS9AN4Xh3p_KniCZ:21 a=9OURtaLZBzM5ZGKe:21 a=pILNOxqGKmIA:10 a=-FEs8UIgK8oA:10 a=NWVoK91CQyQA:10 a=A-_PIABMyxA-4_sE230A:9 a=gFMEDEkkTh6S2olI:21 a=M74AXpnk_cecY6cA:21 a=k5BVAUTLAHibFQjQ:21 a=_W_S_7VecoQA:10 a=ULaUcM2Ibn9MdPUUwucP:22 a=1RpNR2E4bTkVPcsa2RFZ:22 a=_FVE-zBwftR9WsbkzFJk:22 Subject: nosh version 1.40 To: FreeBSD Hackers , Debian users , Supervision References: <54430B41.3010301@NTLWorld.com> <76c00c13-4cc9-ed9c-f48f-81a3f050b80b@NTLWorld.com> <5e8454f7-8b8d-ae9f-5aca-3b1b5737f81a@NTLWorld.COM> <9b60cf3a-9db7-7d80-92d1-be2731ae6155@NTLWorld.COM> From: Jonathan de Boyne Pollard Message-ID: Date: Wed, 20 Mar 2019 10:21:37 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <9b60cf3a-9db7-7d80-92d1-be2731ae6155@NTLWorld.COM> X-CMAE-Envelope: MS4wfJ767B+lKe4N2z8mRSs6kj490aQRINIYLwWARmXN5HxCDGtet23poQhnM+ZlCOyd+6X/2WoYmPQTNaqyhaRSrIv2EhOwNMiTt/ejWu3bzQ2eADcXnvW6 3l/B3W9fIYfk/kFbUpbBGwdKN7NxwNUCAEClQ3TPvh7ACV2pdryhfKNafLC0/v6FIwwpNsCX0r5ATIW8irgmxdHMdAy903HVKljbJmbM/QDpN38jC1tnCuXB 0FIC5MmuGQ8A/1hl0/969wW9OIv3aNyOJMoKBBoBB6lOi6ta03KULh2Zh3aa8ER6CC+mMRf8TcbDHsStX2GS3A== X-Rspamd-Queue-Id: 7AFB98F8B1 X-Spamd-Bar: / X-Spamd-Result: default: False [-0.78 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.65)[-0.651,0]; R_DKIM_ALLOW(-0.20)[ntlworld.com:s=meg.feb2017]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:80.0.253.64/28]; NEURAL_HAM_LONG(-0.96)[-0.957,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; NEURAL_SPAM_SHORT(0.86)[0.861,0]; URI_COUNT_ODD(1.00)[13]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[ntlworld.com:+]; MX_GOOD(-0.01)[cached: mx.mnd.ukmail.iss.as9143.net]; RCVD_IN_DNSWL_NONE(0.00)[72.253.0.80.list.dnswl.org : 127.0.5.0]; DMARC_POLICY_ALLOW(-0.50)[NTLWorld.COM,quarantine]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-0.02)[asn: 5089(-0.01), country: GB(-0.09)]; ASN(0.00)[asn:5089, ipnet:80.0.0.0/16, country:GB]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2019 10:23:40 -0000 The nosh package is now up to version 1.40 . * http://jdebp.eu./Softwares/nosh/ * http://jdebp.info./Softwares/nosh/ * https://github.com/freebsd/freebsd-quarterly/blob/master/2018q4/nosh.md This version sees changes to the doco, improvements to network configuration, and a change to machine ID generation. FreeBSD binaries ================ I plan for this to be the last release with binaries built on FreeBSD 10. I am going to upgrade the build machine. |ifconfig| ======== * https://unix.stackexchange.com/a/504084/5132 There is now an |ifconfig| command in the toolset, with a command-line interface and output similar to the FreeBSD |ifconfig|. It is primarily intended for use on non-FreeBSD systems, to provide a FreeBSD-like |ifconfig| where one does not have the actual FreeBSD tool. The |ifconfig@*| services generated by the external configuration import subsystem make use of it on Linux operating systems, allowing the services themselves to be pretty much the same across platforms. It handles multiple (unlabelled) addresses per interface and both IP version 6 and IP version 4 addressing, which are two of the long-standing complaints against the old |ifconfig| programs from GNU inetutils and NET-3 net-tools . It has no notion of overwriting a single "primary" address. It has a |broadcast1| flag for calculating the broadcast address from the prefix length and address. It prefers the new (since 1993) notation for IP version 4 network masks. It can do the FreeBSD style of EUI-64 address assignment for IP version 6 with an |eui64| flag. And it colours its output if writing to a terminal. (-: Machine ID generation ===================== FreeBSD from 2007 onwards used the SMBIOS system UUID from the machine firmware as a fallback source for a machine ID. |setup-machine-id| prior to this release of the toolset would do the same for compatibility. This has now been removed from |setup-machine-id|. The privacy problems that it entails have turned out to outweigh what little utility it had. Systems that would have fallen back upon the SMBIOS system UUID will now fall back to creating UUIDs using the C library. Note that the FreeBSD C library still uses MAC addresses to create UUIDs. The OpenBSD and GNU C libraries use CSPRNGs. There is also now an |erase-machine-id| command that resets all of the machine ID storage locations set by |setup-machine-id| to a nil UUID. The |machine-id| service now calls |erase-machine-id| at shutdown. Thus: Machine IDs (when using the supplied service bundles) now have a lifetime from bootstrap to shutdown, will not persist across reboots, do not reveal the SMBIOS system UUID and are not constant and correlatable because of it even when explicitly wiped, and can still reveal MAC addresses on FreeBSD. The new |machine-id|(7) manual page lists some of the known users of machine IDs, explains where machine IDs are stored, and gives some of the history of machine IDs. Square mode =========== Square mode is now switchable in |console-terminal-emulator|, using DEC Private Mode 1369. |console-control-sequence| has a |--square| option for changing it. Other tools =========== |ucspi-socket-rules-check| has gained the ability to check |uid/self/| and |gid/self/| subdirectories when handling UCSPI-UNIX connections. Doco ==== The Guide now includes the original command manuals, written in DocBook XML. These are directly readable using a GUI WWW browser and the supplied stylesheet. The conversions to HTML are still supplied, but reading the original DocBook XML format is better. TUI WWW browsers such as lynx cannot read DocBook XML. Their deficiency has inspired a new |console-docbook-xml-viewer| tool that parses and displays the manual pages with a simple full-screen interface on a terminal. This can of course display other DocBook XML manual pages as well. External configuration import improvements ========================================== The external configuration import subsystem now allows various extensions in a |/etc/network/interfaces| file, including |ipv4ll| stanzas (which will cause |avahi-autoipd| services to be set up) and |eui64| stanzas. A "|broadcast +|" setting is now transformed into the aforementioned |broadcast1| flag for |ifconfig|. It also now once more treats |false| for the login shell as signifying a non-personal user account. More service bundles ==================== There are a few more service bundles in this release, including ones for Laurent Bercot's mdev, for two-ftp, and for NcFTPd. From owner-freebsd-hackers@freebsd.org Wed Mar 20 17:21:45 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 33E451559A23 for ; Wed, 20 Mar 2019 17:21:45 +0000 (UTC) (envelope-from lc525@cam.ac.uk) Received: from ppsw-30.csi.cam.ac.uk (ppsw-30.csi.cam.ac.uk [131.111.8.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 649F570129 for ; Wed, 20 Mar 2019 17:21:43 +0000 (UTC) (envelope-from lc525@cam.ac.uk) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=cam.ac.uk; s=20180806.ppsw; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Date: Message-ID:Subject:From:To:Sender:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=zllIB6vh9f5nfe33pyf+phG5l/weUNA1B+kHV+R86PU=; b=x7TSO3DH9uacrYRNaU9aVG/Jen EAtEsBPHUOFhHTHwg28OF5zwh2TjFRFxjnL+mn0u4RZZVf23EzL9E5lAo9kRTr91lrN0yTL/ZXg3Z 3evjWe296FtjmjghBlrZYd201HXZwH8tDT1D0U5z7La1q1fzyWQkNbkZ2yvVSWZdrdi4=; X-Cam-AntiVirus: no malware found X-Cam-ScannerInfo: http://help.uis.cam.ac.uk/email-scanner-virus Received: from neofelis.sm.cl.cam.ac.uk ([128.232.60.93]:56006) by ppsw-30.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587) with esmtpsa (PLAIN:lc525) (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) id 1h6euL-00047I-eD (Exim 4.91) for freebsd-hackers@freebsd.org (return-path ); Wed, 20 Mar 2019 17:21:41 +0000 To: freebsd-hackers@freebsd.org From: Lucian Carata Subject: netboot from NFS in an UEFI environment Openpgp: id=BC9780C1939D37116415A1171AFE0D9B85AA6C3E Autocrypt: addr=lc525@cam.ac.uk; prefer-encrypt=mutual; keydata= mQINBFBJy24BEAC46IqhthUGwYfnmgYgSW9BPTK7P87t1zbpO3fQ//wqA3rvZmmHw8KHvTNZ r/YLXgFck9rGBY4uen1S4pla83B4gg9i3+oj15NnIAqFx1s2tWTRLcmhuEcxo4OAwnBXcVQk qe05Q7cwP2XjNqHz8R0HQNkxu2vGj6BVd5daSz+RCnc5peU0yPpaYLNTg6Z28/u5v8SUNo0L pU4il6N6+FGLVH4hRBgRDcrMp/1NLjOqRdq5Ul+49EF7Nnx8OniRp8fn60J6ilf5v/Zat3cD 1AjyBsbXeLZpkH2Peh22DjEr+MBrsW5Aqv/AadWAG1sUhl3LpNgU0I2e9W9eo7oYPCsKHxtM gK5/fg8IrC+fSghD5xpTUuPttRtUZPdomX8HK12yCJP9uLsf3oVPudBOkO8t4XsfNPsoTIHS cjI2bOQ2ZAV6HPYVqOuRd9AmV/0qHJbFrbzw694ZCZ+CnivKNWSANWVTgLtDd15oPQAoKZut SI1chHyTcT8/U/98QaJ7D3i+PB/xgIQmBYfnCzuNHdfsSONaiwzeiBxksUftnzHp4c0SlS34 Lom47DjuBN3+6Qae4AP475AFfwxWee1VWY7Jzc/YyM8gh7HeGKHEIOoygC/hBFBeGQOmlQTo uMoKfAm7V+ycMPWzQzddRembJs2IretTnkY7Xy33uhO5oAfGnwARAQABtB9MdWNpYW4gQ2Fy YXRhIDxsYzUyNUBjYW0uYWMudWs+iQJUBBMBCAA+AhsDAh4BAheABQsJCAcDBRUKCQgLBRYC AwEAFiEEvJeAwZOdNxFkFaEXGv4Nm4WqbD4FAlp5tjsFCQ3yUbgACgkQGv4Nm4WqbD5DhA// Uwtfi8l/OV6LJw3wyh6zmTFynZxKcgFICGittmYvh2iWYW9yipL9NqYeAIkfHv7uhy4i1xOf xk7YuwxJkGvRRCxWJEaLXo6Et0S+6YSmGb5ly4O4mCeO6FqD2nsvMREzIqS4S4DB8zoMcmwH c3ygr7M8VdT3oZEHGDCMxkcbSrjXZPw8fj5DHVSAtMNfLB56bt4CGFvHN6ltvVlnRXccxHjq tiG2MoyFO0M9llAHgtyDLZW30ykhDJMH9IjncEGWQghbN3PEekFbdaP67p2qtunfLspprWRk ewBs3CaTZq33Iw7598nxUiwBXTC2hOo1lb7wAPKHPrzL0yfCsVMEQZeaW1jZ2DPUR8xlUkXR i4KoT90f+XX1IrUQLz1eyEe++hWav+9Sw+VuvKciTGzKf3YtdSWePA7uMS1gGClL9o//26cr BxdWcOKI8BSTeKfQoq9tEzjaK6KUjSg9pDeLci+nrZ/ZAtOrEhuPnmmAhA7dUWjWwCem6YDg 2g3kvRmhCfJ97JA7ZKlG/dIbo/IYKiSmeGlNqcvZ5XeEwa6OEz9O8rMftSxAcimzN8SkrxSH mwD8OVSHdD5EJIHdn4S49VIUpZkTNiU45D3hcJazxZfp2mrtDXDdsCpf7Sr7Jqn/bVvHXKj2 2e6E1QhNNNr5KVZz9v1C4Nb5Sz2rK2XJHCS5AQ0EUwJY8QEIAMtiEQcFWyCp5lJgbB0mMQLi meBS3uG2LmU1NyMMCr3kidCFT6d82wknUQI72h15Cqz7vo/uSnwGznbxuyrhPfkJeaQR4kd/ GnCBBkgOmhFa3/68caZGg+jJsDOxJqmiUtpVWIuxxFOjhnQVcwcC8/5RbehwNCo2/ysEF4K+ rohybCjKAEP9V0jkRcv4lNy70eu1/ziQfFm3KFYPoIEXrcYM3/UTORNKkTbBl8rJJosLbdUF InTGhZQ9aNILMApkZP5uEYIxZHOrHCv2ZJFpTw5YW+oIbpYwoiBlGm+2EM9DdU8bHqBxlukf ZQrES/k4sCVBBVz0BrMywTJkGQlxk98AEQEAAYkDWwQYAQgAJgIbAhYhBLyXgMGTnTcRZBWh Fxr+DZuFqmw+BQJaebbYBQkLOcTnASnAXSAEGQEIAAYFAlMCWPEACgkQcAb2FA62obFaDwf8 C3XQ3M/aue+/lE+xJgOALi56Bm1jBJT9Q01T2uSp2XqRLnc0eD9/gZAq1hnHYG77Ao1bZ/Ra 4k0yQqvtx7eKqWZzVKpZwsSrTtKjgQTI6jk/sQ3M6wxLjxNEWjXHoQ/vlktcoYZai+HXKY25 1wEqveU/JX2VT56a5JsuYnPdGjOxSYZbn8YHplYHrbdqY4S8JH5DW31XESEq2lFAVGn3irx9 0Ky97MkdfdF4XKGdWJkI7DyFkUd0cKCdvC7YTdZ+W5YVhbLT/XLfAWG+bnyBg2NI/8wQgDkF beqRTVaPytb2GP01enqHI05y1Y01z9eZkNVM2tz2SCZVkeAOeuHheQkQGv4Nm4WqbD7OgQ/9 EZWVFDFe6+pXHC6W574R3tIjyo5nHRzv7JBRlW9WAMRO1RoVw4oqiNzaYkKFL287NRoziB3h nGN0dZ7iDSsS6n1a4ZU48nQ6NoPH/XURXX1FzNjHrC5gYovin47kMAoxXXnIgesY5dMMKNT5 FzilHxJi5gPcGP6tXnN+1BOyQnQ1gQhTucoIE4b1m9LM3rkELk2yecFX0xmt/bVipx52oNbk FaVimuZuF3daYLokCqmxTgJ48MI/oq5Ae8MJ6g6P35uY/dp2/pMAW1S/JVRdfeR7kWeQPjtT U70CPMQ8nmYOpkhDmpKF8Bgy7t8cYVStJN5hrZJOE113zmYjWACSFFoDdihzudz8DaRGeunL C4PMnYUFM+NOn1eLV/IDCPEvAHHQyqE5lxFkSQVjdnJdYZdIyXN3o3LglLZ3TforPdIpEi2O /tleicdQYieOCvGjD6qi1HIx8psC6uLVcwmeCS5u3cvf65aHDlHnr/kEZUCgYfGBNMi+mNXX f6+gWJSgZduQzlpQ3Kkx5d1K8uusH57mOqpcHZgEoZs2APHpc7EvQ6E3B8Zra1Ey0FGA6kuB QtPk1+7AZ9cw5mB+k6UV7CK6jtoOnhWbDQY7ygvvfXACCPXYxO9aXqMHHkhUmJJHfST+XmS1 ZrxDABqLnjm5l/f5m1VQ1xB89fgSzdOQEOQ= Message-ID: <2fafa521-0d34-522b-9a39-0689efbd7f3a@cam.ac.uk> Date: Wed, 20 Mar 2019 17:21:41 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.3 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 649F570129 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=cam.ac.uk header.s=20180806.ppsw header.b=x7TSO3DH; spf=pass (mx1.freebsd.org: domain of lc525@cam.ac.uk designates 131.111.8.130 as permitted sender) smtp.mailfrom=lc525@cam.ac.uk X-Spamd-Result: default: False [-4.84 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:131.111.0.0/16]; TO_DN_NONE(0.00)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; MX_GOOD(-0.01)[mx.cam.ac.uk,mx.cam.ac.uk,mx.cam.ac.uk]; DKIM_TRACE(0.00)[cam.ac.uk:+]; RCVD_IN_DNSWL_MED(-0.20)[130.8.111.131.list.dnswl.org : 127.0.11.2]; NEURAL_HAM_SHORT(-0.72)[-0.725,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; IP_SCORE(-0.91)[ip: (-1.58), ipnet: 131.111.0.0/16(-0.82), asn: 786(-2.05), country: GB(-0.09)]; ASN(0.00)[asn:786, ipnet:131.111.0.0/16, country:GB]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[cam.ac.uk:s=20180806.ppsw]; FROM_HAS_DN(0.00)[]; DWL_DNSWL_MED(0.00)[cam.ac.uk.dwl.dnswl.org : 127.0.11.2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[cam.ac.uk]; RCPT_COUNT_ONE(0.00)[1]; RBL_COMPOSITE_RCVD_IN_DNSWL_MED_DWL_DNSWL_MED(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2019 17:21:45 -0000 I am setting a number of x86_64 FreeBSD machines for running experiments and would like to netboot FreeBSD from an UEFI environment. On UEFI, the configuration I have at the moment allows me to pick whether to run iPXE or boot from local drives, depending on choices made centrally (with configuration management tools). When booting iPXE, I would like to chainload a bootloader that netboots a FreeBSD image from NFS. Unfortunatelly, being in UEFI mode, I can't just use boot/pxeboot. I've tried chainloading boot/loader.efi but without success. The loader starts but doesn't make much progress: Setting currdev to net0: Setting currdev to net0: Failed to find bootable partition Press any key to interrupt reboot in 3 seconds / can't load 'kernel' Looking through the source code (stand/efi/loader/main.c) I see that there is an attempt to list devices, with a comment saying "this handle list is only for netboot" -- which shows that at least netbooting on UEFI has been considered, but I'm not sure how to pass the path of the NFS root so that the boot continues. Any ideas on how to do this (or something equivalent) would be greatly appreciated. === Lucian From owner-freebsd-hackers@freebsd.org Thu Mar 21 18:55:47 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE663154B6A5 for ; Thu, 21 Mar 2019 18:55:47 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2CB2171C61 for ; Thu, 21 Mar 2019 18:55:45 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x2LIYIVE071944 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 21 Mar 2019 19:34:18 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x2LIYDJd071941 for ; Thu, 21 Mar 2019 19:34:13 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 21 Mar 2019 19:34:13 +0100 (CET) From: Wojciech Puchar To: freebsd-hackers@freebsd.org Subject: simple sendmail question Message-ID: User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Rspamd-Queue-Id: 2CB2171C61 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.82 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; MX_GOOD(-0.01)[puchar.net]; NEURAL_HAM_SHORT(-0.95)[-0.947,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.57)[ip: (-9.41), ipnet: 194.1.144.0/24(-4.70), asn: 43476(-3.76), country: PL(0.05)]; DMARC_NA(0.00)[puchar.net]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Mar 2019 18:55:47 -0000 sorry if i just missed it in documentation but i cannot find it. How to make sendmail copy of EVERY outgoing main to given mailbox. From owner-freebsd-hackers@freebsd.org Thu Mar 21 19:20:07 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A713F154BE59 for ; Thu, 21 Mar 2019 19:20:07 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 64489727EE for ; Thu, 21 Mar 2019 19:20:06 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id 73EJhWD1bGusj73EKhlP3n; Thu, 21 Mar 2019 13:19:58 -0600 X-Authority-Analysis: v=2.3 cv=fOdHIqSe c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=NTGMnVQrEZIA:10 a=heTAvR70AAAA:8 a=6I5d2MoRAAAA:8 a=Q6Ojrw04AAAA:8 a=YxBL1-UpAAAA:8 a=Hf6e_SWZ83T8d-bQlzkA:9 a=QEXdDO2ut3YA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from [IPv6:2605:8d80:401:9242:ee71:4bc4:20cf:b194] (unknown [72.143.236.65]) by spqr.komquats.com (Postfix) with ESMTPSA id A9C8CC1D; Thu, 21 Mar 2019 12:19:53 -0700 (PDT) Date: Thu, 21 Mar 2019 12:19:45 -0700 User-Agent: K-9 Mail for Android In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: simple sendmail question To: freebsd-hackers@freebsd.org,Wojciech Puchar From: Cy Schubert Message-ID: <1712A57D-616D-4D31-AADE-A9AD40E9AB5E@cschubert.com> X-CMAE-Envelope: MS4wfOPLmBjsX3sktbAzp7TaNH0TLmXxhgmUZe46hbqkh+EkuYZ1eJHApolZL9oiEY8DviN0O4JlcdJm1hUmXIQJWTjcxwgw4cATJEEW4NPIsPvL9OVxUonY eYUwrKH0No4iikwkRrZKYzTmyV9Eu1XrBQWyfhOqfpFd6WMWL+UggxpK7P0c1tF5fgW+f53c6xP9ccazCPBjxhAzPEJNn3mcNY8hx0UvCOuBOifXvAwzKdYM X-Rspamd-Queue-Id: 64489727EE X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-5.26 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.98)[-0.983,0]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MID_RHS_MATCH_FROM(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; IP_SCORE(-2.06)[ip: (-5.06), ipnet: 64.59.128.0/20(-2.92), asn: 6327(-2.24), country: CA(-0.09)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Mar 2019 19:20:07 -0000 On March 21, 2019 11:34:13 AM PDT, Wojciech Puchar wr= ote: >sorry if i just missed it in documentation but i cannot find it=2E > >How to make sendmail copy of EVERY outgoing main to given mailbox=2E >_______________________________________________ >freebsd-hackers@freebsd=2Eorg mailing list >https://lists=2Efreebsd=2Eorg/mailman/listinfo/freebsd-hackers >To unsubscribe, send any mail to >"freebsd-hackers-unsubscribe@freebsd=2Eorg" Google is your friend, even on a phone=2E https://serverfault=2Ecom/questions/229029/configuring-sendmail-to-archive= -a-copy-of-any-outgoing-message --=20 Pardon the typos and autocorrect, small keyboard in use=2E Cheers, Cy Schubert FreeBSD UNIX: Web: http://www=2EFreeBSD=2Eorg The need of the many outweighs the greed of the few=2E From owner-freebsd-hackers@freebsd.org Thu Mar 21 19:26:05 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CA406154C26E for ; Thu, 21 Mar 2019 19:26:05 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F181072CD4 for ; Thu, 21 Mar 2019 19:26:04 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x2LJOl8Y078432 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 21 Mar 2019 20:24:47 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x2LJOgK6078429; Thu, 21 Mar 2019 20:24:42 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 21 Mar 2019 20:24:42 +0100 (CET) From: Wojciech Puchar To: Cy Schubert cc: freebsd-hackers@freebsd.org, Wojciech Puchar Subject: Re: simple sendmail question In-Reply-To: <1712A57D-616D-4D31-AADE-A9AD40E9AB5E@cschubert.com> Message-ID: References: <1712A57D-616D-4D31-AADE-A9AD40E9AB5E@cschubert.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: F181072CD4 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.87 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.99)[-0.990,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.57)[ip: (-9.41), ipnet: 194.1.144.0/24(-4.71), asn: 43476(-3.76), country: PL(0.05)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Mar 2019 19:26:06 -0000 >> "freebsd-hackers-unsubscribe@freebsd.org" > > Google is your friend, even on a phone. but only if you put right search phrase :) thank you > > https://serverfault.com/questions/229029/configuring-sendmail-to-archive-a-copy-of-any-outgoing-message > > > -- > Pardon the typos and autocorrect, small keyboard in use. > Cheers, > Cy Schubert > FreeBSD UNIX: Web: http://www.FreeBSD.org > > The need of the many outweighs the greed of the few. > > From owner-freebsd-hackers@freebsd.org Thu Mar 21 21:18:02 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9AB1154FC47 for ; Thu, 21 Mar 2019 21:18:02 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8AA9D80EC6 for ; Thu, 21 Mar 2019 21:18:01 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id 754XhXGabGusj754Yhlucg; Thu, 21 Mar 2019 15:17:59 -0600 X-Authority-Analysis: v=2.3 cv=fOdHIqSe c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=NTGMnVQrEZIA:10 a=heTAvR70AAAA:8 a=6I5d2MoRAAAA:8 a=1XWaLZrsAAAA:8 a=YxBL1-UpAAAA:8 a=nCaM_THEpDYZBUfbZzwA:9 a=CjuIK1q_8ugA:10 a=H4NpI0-O6QQA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 1852DF1D; Thu, 21 Mar 2019 14:17:57 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x2LLHu1E037865; Thu, 21 Mar 2019 14:17:56 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x2LLHuhm037854; Thu, 21 Mar 2019 14:17:56 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201903212117.x2LLHuhm037854@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Cy Schubert , freebsd-hackers@freebsd.org Subject: Re: simple sendmail question In-Reply-To: Message from Wojciech Puchar of "Thu, 21 Mar 2019 20:24:42 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 21 Mar 2019 14:17:56 -0700 X-CMAE-Envelope: MS4wfDrywBTA+JrccgSjth6XdD8FRm+DU4RSPKS31glzX3TkLE1rljPx3uQQtI96z2Ow44/zJmly1GoIYrGcSaF7B0UUwUkQ8LRw3YIp8POwiv4c64J7uWWT vImd+lYbxSMFkJ6922KZaPhkop/hBk5SKq2E47zr9c34wepx+Cui3A7Z6I86W3dm0Lwkubc58Vp4uMnqGATi6nNZcG6xCJMXfnltfigTTRgw7JkvKC73XaSd X-Rspamd-Queue-Id: 8AA9D80EC6 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.74 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; TO_DN_SOME(0.00)[]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.98)[-0.982,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.05)[ip: (-5.01), ipnet: 64.59.128.0/20(-2.92), asn: 6327(-2.24), country: CA(-0.09)]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Mar 2019 21:18:02 -0000 In message , Wojciech Puchar wr ites: > >> "freebsd-hackers-unsubscribe@freebsd.org" > > > > Google is your friend, even on a phone. > > but only if you put right search phrase :) https://www.google.com/search?q=sendmail+copy+outgoing+mail > thank you ;) -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Fri Mar 22 03:40:34 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CC26215587B9 for ; Fri, 22 Mar 2019 03:40:34 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (muon.bluestop.org [65.103.231.193]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D8AC88E2E7 for ; Fri, 22 Mar 2019 03:40:33 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (localhost [127.0.0.1]) by muon.bluestop.org (Postfix) with ESMTP id 37A377F4F7; Thu, 21 Mar 2019 21:41:41 -0600 (MDT) Received: from muon.bluestop.org ([127.0.0.1]) by muon.bluestop.org (muon.bluestop.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Ehyuqse7xe7d; Thu, 21 Mar 2019 21:41:40 -0600 (MDT) Received: from photon.int.bluestop.org (unknown [65.103.231.197]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by muon.bluestop.org (Postfix) with ESMTPSA; Thu, 21 Mar 2019 21:41:40 -0600 (MDT) Subject: Re: netboot from NFS in an UEFI environment To: Lucian Carata , freebsd-hackers@freebsd.org References: <2fafa521-0d34-522b-9a39-0689efbd7f3a@cam.ac.uk> From: Rebecca Cran Message-ID: <5e06c19f-4d95-afc5-155b-a1b2d3bed88b@bluestop.org> Date: Thu, 21 Mar 2019 21:40:30 -0600 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.5.3 MIME-Version: 1.0 In-Reply-To: <2fafa521-0d34-522b-9a39-0689efbd7f3a@cam.ac.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: D8AC88E2E7 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.89 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[bluestop.org:s=mail]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-0.99)[ipnet: 65.100.0.0/14(-4.87), asn: 209(-0.00), country: US(-0.07)]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[bluestop.org:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[bluestop.org,quarantine]; MX_GOOD(-0.01)[cached: mail.bluestop.org]; NEURAL_HAM_SHORT(-0.89)[-0.890,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:209, ipnet:65.100.0.0/14, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Mar 2019 03:40:35 -0000 On 3/20/19 11:21 AM, Lucian Carata wrote: > Looking through the source code (stand/efi/loader/main.c) I see that there is an attempt to list devices, with a comment saying "this handle list is only for netboot" -- which shows that at least netbooting on UEFI has been considered, but I'm not sure how to pass the path of the NFS root so that the boot continues. > > Any ideas on how to do this (or something equivalent) would be greatly appreciated. stand/efi/conf.c does have nfs_fsops, so it should be supported. Maybe an obvious question, but have you tried setting the DHCP option 'root-path' ? -- Rebecca Cran From owner-freebsd-hackers@freebsd.org Fri Mar 22 04:38:15 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A68F15598B4 for ; Fri, 22 Mar 2019 04:38:15 +0000 (UTC) (envelope-from pkaipila@gmail.com) Received: from mail-io1-xd31.google.com (mail-io1-xd31.google.com [IPv6:2607:f8b0:4864:20::d31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7DB828FCF2 for ; Fri, 22 Mar 2019 04:38:14 +0000 (UTC) (envelope-from pkaipila@gmail.com) Received: by mail-io1-xd31.google.com with SMTP id c4so690735ioh.9 for ; Thu, 21 Mar 2019 21:38:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=tmFTZh82IXvNcAOERylSCPrr9EaXy3xV5evGgONnl1s=; b=pDIQ5z8+2xq9WF2xBffDCatDEmwAlPvkc62VYrEVYZ3zdY40bk94FuksNadzfJvNGZ UMC/aJM9nC0nOfZ5VwfQbsNSt/XwvZ96G6sDdbckAcs2F/kxMgjHZo8yxkAqUMH3AUBP F+FhqEStI2libLGqsbRs/kAig84e/ta6lH4bA/hMLX841Hy5syR7m04C7v0ujJaLF8Ik Fp1/X/9aZthzaSmOQGy8q+CjDKR9ax2Uc3jNSiValUqF9KAxVv/TDDcSs89weGfhdN4r 7xjaBlw+VdiJboLSzPgX2ZKv36WvHAekDkIlrXy6VlH+TsuH5xQzguUF8//Hu9L30l/X 1VZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tmFTZh82IXvNcAOERylSCPrr9EaXy3xV5evGgONnl1s=; b=FSsC5CQZSK+hVmVu5YaElFtnrsd5mbNobDDht7oV/XQL4bsYlktJcK87D0OjnglIOV iudC5c76/3WiOfEWhXtg0WTYm+YOuq9Ey43F3bYe01CD1O5/lBTKbSeAjZFW8x5D5vs+ JEvLgUKCFUa/QtHEJb2mYzpNw7aYrN8i5HScofaGe2sMSCIcs+WOwzxUIMRRjaGXBTVW yzGfMK45SyGSFTKXUH67r8EZ+HxDEjhFQ2HnnYdINqDy+vt2LueXHn5mPXoemne1mDp7 rlAiaztV9rhOqix3t1uaLur+bkT+xuatJ9RDLlrF3Jvk429aZvlqgnppMLcNulAJ4oJA SICw== X-Gm-Message-State: APjAAAVGSi6sN1HtYhSQN45G8kyA0YQAgLZsxF+j+7Zovj6FnyfZXx9H vNB+J+izR+DmlXabQ5NJP8ub6efk18uN/YLjynQbk5Dr X-Google-Smtp-Source: APXvYqwAkuqvpxoHVVx0OftaJ6qUfo/CNXTOzt8JWSRnVTADjxUn0aGBqM/Toi9LmeENHFn9qyMFq4sQCYJ+Jb5UXGo= X-Received: by 2002:a6b:9045:: with SMTP id s66mr5347491iod.285.1553229493534; Thu, 21 Mar 2019 21:38:13 -0700 (PDT) MIME-Version: 1.0 From: Paavo-Einari Kaipila Date: Fri, 22 Mar 2019 04:38:03 +0200 Message-ID: Subject: [GSOC idea] virtual memory compression To: freebsd-hackers@freebsd.org X-Rspamd-Queue-Id: 7DB828FCF2 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=pDIQ5z8+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of pkaipila@gmail.com designates 2607:f8b0:4864:20::d31 as permitted sender) smtp.mailfrom=pkaipila@gmail.com X-Spamd-Result: default: False [-6.75 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[1.3.d.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; IP_SCORE(-2.91)[ip: (-9.53), ipnet: 2607:f8b0::/32(-2.83), asn: 15169(-2.13), country: US(-0.07)]; NEURAL_HAM_SHORT(-0.83)[-0.833,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Mar 2019 04:38:15 -0000 Hello I am a CS student from Tampere University and I am interested in participating FreeBSD project as a GSOC student. My idea is to implement virtual memory compression trough a block device. Much like zram on Linux. Any comments on this idea or suggestion who contact for mentoring? regards, Paavo-Einari Kaipila From owner-freebsd-hackers@freebsd.org Sat Mar 23 13:31:34 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D72E154FA27 for ; Sat, 23 Mar 2019 13:31:34 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 97E7B6A2D1 for ; Sat, 23 Mar 2019 13:31:33 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id 56BA0154FA0C; Sat, 23 Mar 2019 13:31:33 +0000 (UTC) Delivered-To: hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DCAEF154FA09; Sat, 23 Mar 2019 13:31:32 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 533BA6A2CC; Sat, 23 Mar 2019 13:31:31 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mail-wr1-x444.google.com with SMTP id g3so1722628wrx.9; Sat, 23 Mar 2019 06:31:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :mime-version:content-disposition:user-agent; bh=FI2W5HMl4HJtAfKJrlJ1qQXlGZDKb7esfC6wDWBizF8=; b=ID7qMtaeuS4Mi7dsHeEXlDEjwuxOI8KXxfVLWHpuB8HJlmTyNJmBi4b/enrcVdksOR AueTzPd/GpfsYp2LVhzkHJsV8rw6GvHZFYS1P1N7Ciz191jsDKtdDRWNQXd/5RRQ7tZi acUzzfFqkFjaQA6gKGLqfNPRfP/EPyXKEO4SmXVILdyPj47x08MsgnQsmjFF8jOB3aE7 +SdNIcKWm78hWTGSHwRR5hbfl+dU5JuUW3sNm43h2OnX7e6Ra66RLItL/vKU+ShsPNm8 xTJGkdCAXBDwCMaEAFfUcv4HMJ/hKFSnCHZmcgxvqLZrx3VfojBpGlAsplZxK/W2x4+C Elrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:mime-version:content-disposition:user-agent; bh=FI2W5HMl4HJtAfKJrlJ1qQXlGZDKb7esfC6wDWBizF8=; b=Yyj94J/FLDu+rYRKBS27ex6Ln4wc+a+z570+7hKEWp4nw7OisJp+dsO5wIUVg83ORV DPzvyPuZf2lvmjCIvwfO/VRDtUfNWg+FckcrLVnYBRf0fRH/i9VZME+6S07oDSF5Poy+ MEq0NkORzztJb45m3KBoGEYzszedLN5pBU6+HHUtdOqPxpmGSZKX9AGwMu2TnGhRzsMu 2l6fZd4Nh7GflpiKTXf0QV8rXTXfYuk7Dvfeq3+f33EyHLtEpU6It1hWG9pB0VsRXInt Mh2lMyyBJ3UseVX7zcQaR1lwruc6yI2aaK8T53MZiO/WYBh0AgXRpa/9z4U0D/FIl84i XT2g== X-Gm-Message-State: APjAAAXm5BVjako2jizlTjzyJUYO3vC+aBhSXBTvghVjYq4cbIgbwztD TnE5nTnTTP5lUbTZJBjZHwz51N8F X-Google-Smtp-Source: APXvYqz5Hl0JLBOjmqAOaIOZ3uQm1DxiPoblUd1TfpO4oktDhyQYYWU/JFV9/GNbTbPrDYE6IVrYrQ== X-Received: by 2002:adf:ebce:: with SMTP id v14mr9597672wrn.69.1553347400005; Sat, 23 Mar 2019 06:23:20 -0700 (PDT) Received: from v2 (cpc92302-cmbg19-2-0-cust461.5-4.cable.virginm.net. [82.1.209.206]) by smtp.gmail.com with ESMTPSA id t81sm9201545wmb.5.2019.03.23.06.23.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 23 Mar 2019 06:23:18 -0700 (PDT) Sender: =?UTF-8?Q?Edward_Tomasz_Napiera=C5=82a?= Date: Sat, 23 Mar 2019 13:23:16 +0000 From: Edward Tomasz =?utf-8?Q?Napiera=C5=82a?= To: hackers@freebsd.org Cc: current@freebsd.org, stable@freebsd.org Subject: FreeBSD Quarterly Status Report - Fourth Quarter 2018 Message-ID: <20190323132316.GA1786@v2> Mail-Followup-To: hackers@freebsd.org, current@freebsd.org, stable@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="qDbXVdCdHGoSgWSk" Content-Disposition: inline User-Agent: Mutt/1.11.3 (2019-02-01) X-Rspamd-Queue-Id: 533BA6A2CC X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=ID7qMtae; spf=pass (mx1.freebsd.org: domain of etnapierala@gmail.com designates 2a00:1450:4864:20::444 as permitted sender) smtp.mailfrom=etnapierala@gmail.com X-Spamd-Result: default: False [-4.90 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.49)[-0.487,0]; SIGNED_PGP(-2.00)[]; FORGED_SENDER(0.30)[trasz@freebsd.org,etnapierala@gmail.com]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[trasz@freebsd.org,etnapierala@gmail.com]; FORGED_RECIPIENTS(0.00)[hackers@freebsd.org ..,hackers@freebsd.org ...]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; DMARC_NA(0.00)[freebsd.org]; IP_SCORE(-0.61)[ip: (1.56), ipnet: 2a00:1450::/32(-2.38), asn: 15169(-2.13), country: US(-0.07)]; RCVD_IN_DNSWL_NONE(0.00)[4.4.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; MID_RHS_NOT_FQDN(0.50)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Mar 2019 13:31:35 -0000 --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable FreeBSD Project Quarterly Status Report - 4th Quarter 2018 Since we are still on this island among many in this vast ocean of the Internet, we write this message in a bottle to inform you of the work we have finished and what lies ahead of us. These deeds that we have wrought with our minds and hands, they are for all to partake of - in the hopes that anyone of their free will, will join us in making improvements. In todays message the following by no means complete or ordered set of improvements and additions will be covered: i386 PAE Pagetables for up to 24GB memory support, Continuous Integration efforts, driver updates to ENA and graphics, ARM enhancements such as RochChip, Marvell 8K, and Broadcom support as well as more DTS files, more Capsicum possibilities, as well as pfsync improvements, and many more things that you can read about for yourselves. Additionally, we bring news from some islands further down stream, namely the nosh project, HardenedBSD, ClonOS, and the Polish BSD User-Group. We would, selfishly, encourage those of you who give us the good word to please send in your submissions sooner than just before the deadline, and also encourage anyone willing to share the good word to please read the section on which submissions we're also interested in having. Yours hopefully, Daniel Ebdrup, on behalf of the status report team. __________________________________________________________________ FreeBSD Team Reports * Continuous Integration * FreeBSD Core Team * FreeBSD Foundation * FreeBSD Graphics Team status report * FreeBSD Release Engineering Team * Ports Collection Projects * amd64 Usermode Protection Keys * bhyve - Live Migration * bhyve - Save/Restore * Capsicum * Collection of vt(4) color schemes * i386 PAE Pagetables * Improving FreeBSD boot security * pfsync performance improvement * PWM Kernel API and userland utility Architectures * Broadcom ARM64 SoC support * DTS Update * ENA FreeBSD Driver Update * FreeBSD on Power9 (ppc64) Parity * FreeBSD/RISC-V update * libvdsk - QCOW2 implementation * Marvell 8K SoC support * Pinebook SDCard Image * RockChip Support Ports * FreeBSD KDE status report Miscellaneous * BSD PL Third-Party Projects * ClonOS: virtualization platform on top of FreeBSD Operating System * HardenedBSD 2018Q4 Update * The nosh project __________________________________________________________________ FreeBSD Team Reports Entries from the various official and semi-official teams, as found in the Administration Page. Continuous Integration Links FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org/ FreeBSD Jenkins wiki URL: https://wiki.freebsd.org/Jenkins freebsd-testing Mailing List URL: https://lists.FreeBSD.org/mailman/listinfo/freebsd-testing freebsd-ci Repository URL: https://github.com/freebsd/freebsd-ci Tickets related to freebsd-testing@ URL: https://preview.tinyurl.com/y9maauwg Hosted CI wiki URL: https://wiki.freebsd.org/HostedCI Contact: Jenkins Admin Contact: Li-Wen Hsu The FreeBSD CI team maintains continuous integration system and related tasks for the FreeBSD project. The CI system regularly checks the changes committed to the project's Subversion repository can be successfully built, and performs various tests and analysis over the results. The results from build jobs are archived in artifact server, for the further testing and debugging needs. The members on the CI team examine the failing builds and unstable tests, and work with the experts in that area to fix the code or build and test infrastructure, to improve the software quality of the FreeBSD base system. The CI team member and the FreeBSD foundation staff Li-Wen is the maintainer of Jenkins and Jenkins related ports. In this quarter, we worked on extending test executing environment to improve the coverage, temporarily disabling flakey test cases (and opening tickets to work with domain experts). Please see freebsd-testing@ related tickets for more information. In addition to that, starting from this quarter, we also work on collaboration with external projects to extend their CI to cover FreeBSD. See "HostedCI" wiki page for more information. Work in progress: * Fixing the failing test cases and builds * Adding drm ports building test against -CURRENT * Adding tests for selected project branches, e.g.: clang800-import * Implementing automatic tests on bare metal hardware * Planning the embedded testbed * Planning running ztest and network stack tests __________________________________________________________________ FreeBSD Core Team Contact: FreeBSD Core Team Noteworthy events since the last quarterly report: * Yuri Pankov (yuripv@) was awarded a source commit bit under the mentorship of Konstantin Belousov (kib@). * Core agrees that portmgr@ may enforce a 12-month commit bit expiration for ports committers. * Thomas Munro (tmunro@) was awarded a source commit bit under the mentorship of Mateusz Guzik (mgj@) and co-mentorship of Allan Jude (allanjude@). * With the approval of FCP-0101, 10/100 Ethernet drivers will be deprecated. * Core approved the promotion of Remko Lodder (remko@) to Deputy Security Officer. __________________________________________________________________ FreeBSD Foundation Contact: Deb Goodkin The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide. Funding comes from individual and corporate donations and is used to fund and manage software development projects, conferences and developer summits, and provide travel grants to FreeBSD contributors. The Foundation purchases and supports hardware to improve and maintain FreeBSD infrastructure and provides resources to improve security, quality assurance, and release engineering efforts; publishes marketing material to promote, educate, and advocate for the FreeBSD Project; facilitates collaboration between commercial vendors and FreeBSD developers; and finally, represents the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity. Here are some highlights of what we did to help FreeBSD last quarter: Partnerships and Commercial User Support As a 501(c)(3) non-profit, we don't directly support commercial users, but we do work with them to understand their needs and help facilitate collaboration with the community. Last quarter, we were able to meet with a number of FreeBSD users and supporters at the October FreeBSD Developer Summit and MeetBSD conference in addition to our regular company meetings. These in-person meetings provide the opportunity to discuss pain points, identify how they can contribute back to FreeBSD, talk about what technologies they would like to see supported, and what can be done to support FreeBSD over more of their technologies and products. Fundraising Efforts By end of last year, we raised over $1.3M and were able to add Juniper, Netflix and Facebook and Handshake.org to our list of Foundation Partners. You can view the entire list here https://www.freebsdfoundation.org/donors/. We are still finalizing total donations, and will report the final numbers in early February. Thank you to everyone who supported our efforts in 2018. OS Improvements In the fourth quarter of 2018 six authors made a total of 315 commits to the FreeBSD development tree that were identified as being sponsored by the FreeBSD Foundation. These included staff members Konstantin Belousov, Glen Barber, Li-Wen Hsu and Ed Maste, and grant recipients Mateusz Guzik and Mark Johnston. Mateusz' work over the quarter consisted of identifying and fixing bottlenecks in the FreeBSD kernel and system libraries. The FreeBSD base system build, and ports built via Poudriere, were used as motivating cases. Mark added an in-kernel Intel CPU microcode loader. This simplifies and increases the robustness of microcode updates, which is increasingly important as mitigations for speculative execution vulnerabilities are delivered in microcode. Mark also fixed a number of issues relating to capsicum support in base system utilities, implemented a number of NUMA enhancements and bug fixes, and fixed a number of high profile kernel bugs. Ed committed a large number of tool chain fixes to LLVM's lld linker and ELF Tool Chain components. Along with several FreeBSD developers Ed worked on the OpenSSL 1.1.1 import in preparation for FreeBSD 12.0, including incorporating OpenSSH and ntp changes for compatibility. Ed also added build-time knobs for to enable userland retpoline and to enable BIND_NOW which can be used as part of a vulnerability mitigation strategy. Continuous Integration and Quality Assurance The Foundation provides a full-time staff member who is working on improving our automated testing, continuous integration, and overall quality assurance efforts. During the fourth quarter of 2018, Foundation employee Li-Wen Hsu continuously worked on improving the project's CI infrastructure, examining the failing build and test cases, and work with other teams in the project for their testing needs. In this period, we also worked on collaboration with external projects to improve their CI on FreeBSD. See the FreeBSD CI section of this report for more information. Release Engineering The Foundation provides a full-time staff member to lead the release engineering efforts. This has provided timely and reliable releases over the last five years. During the fourth quarter of 2018, Glen Barber led the the FreeBSD Release Engineering team in continuing working on the 12.0-RELEASE with the official announcement sent December 11. See the FreeBSD Release Engineering Team section of this report for more information. Supporting FreeBSD Infrastructure The Foundation provides hardware and support to improve the FreeBSD infrastructure. Last quarter, we continued supporting FreeBSD hardware located around the world. FreeBSD Advocacy and Education A large part of our efforts are dedicated to advocating for the Project. This includes promoting work being done by others with FreeBSD; producing advocacy literature to teach people about FreeBSD and help make the path to starting using FreeBSD or contributing to the Project easier; and attending and getting other FreeBSD contributors to volunteer to run FreeBSD events, staff FreeBSD tables, and give FreeBSD presentations. The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, to work together on projects, and to facilitate collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. Some of the advocacy and education work we did last quarter includes: * Organized, sponsored, and presented at the October 2018 FreeBSD Developers Summit in Santa Clara, CA * Sponsored and exhibited at MeetBSD 2018 in Santa Clara, CA * Exhibited for the first time at All Things Open in Raleigh, NC * Exhibited and sponsored as an Industry Partner at LISA' 18 in Nashville, TN * Sponsored USENIX OSDI `18 in Carlsbad, CA as an Industry Partner * Held an Intro to FreeBSD workshop and a "Why You Should Contribute to FreeBSD" talk at the Rocky Mountain Celebration of Women in Computing in Lakewood, Colorado We continued producing FreeBSD advocacy material to help people promote FreeBSD around the world. Read more about our conference adventures in the conference recaps and trip reports in our monthly newsletters: https://www.freebsdfoundation.org/news-and-events/newsletter/ We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. We recently announced that the FreeBSD Journal will become a Free publication with the January/February 2019 issue. https://www.FreeBSDfoundation.org/journal/. You can find out more about events we attended and upcoming events at https://www.FreeBSDfoundation.org/news-and-events/. For a look back at all of efforts in 2018, please see the year-end video at https://www.freebsdfoundation.org/blog/thank-you-for-supporting-freebsd/. Legal/FreeBSD IP The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise. Last quarter, we approved 6 requests to use the Trademark. Go to http://www.FreeBSDfoundation.org to find out how we support FreeBSD and how we can help you! __________________________________________________________________ FreeBSD Graphics Team status report Links Project GitHub page URL: https://github.com/FreeBSDDesktop Contact: FreeBSD Graphics Team Contact: Niclas Zeising The FreeBSD X11/Graphics team maintains the lower levels of the FreeBSD graphics stack. This includes graphics drivers, graphics libraries such as the MESA OpenGL implementation, the X.org xserver with related libraries and applications, and Wayland with related libraries and applications. In the forth quarter, the team focused on stablizing the graphics drivers and ports for the FreeBSD 12.0 release. The graphics drivers have been updated with new versions for both FreeBSD 11.2 and FreeBSD 12.0. The ports have been renamed in order to make it clearer which version of a port runs on which version on FreeBSD. We also created a new meta port, graphics/drm-kmod, which will install the correct driver based on FreeBSD version and architecture. Moving forward this is the recommended way to install the FreeBSD graphics drivers. The DRM drivers themselves are named graphics/drm-current-kmod and graphics/drm-fbsd12.0-kmod for CURRENT and 12.0 respectively, both of which have been updated to use the 4.16 Linux Kernel source. For FreeBSD 11.2 we have graphics/drm-fbsd11.2-kmod which uses the 4.11 Linux Kernel source. Finally, we created graphics/drm-legacy-kmod, which works on FreeBSD 12.0 and CURRENT. This is a copy of the legacy drivers from the FreeBSD base system. This work will make it possible for us to remove the drm2 code from CURRENT, something we are planning to do in early February. A remnant of the drm2 code will remain in the base after this due to an unresolved dependency for the NVIDIA Tegra ARM chip. Plans for its migration are expected to be finalized in first quarter in 2019. Support for i386 and PowerPC 64 has been added to the drm kernel drivers. This is currently in an alpha state. Wayland has been enabled by default in the ports tree, meaning that all packages are build with Wayland support enabled. This makes it much easier to use and test Wayland. Support for VMware graphics pass through has been added to the kernel driver. Support for this is still missing in graphcs/mesa-dri though, so it currently does not work out of the box. The input stack has been updated and is now for the most part current with upstream. Evdev headers were split off from multimedia/v4l_compat into their own port, devel/evdev-proto. This makes it easier to update those headers and keep them current with upstream, as needed. The input stack is still an area where more work needs to be done to make it easier to use various input devices with X and Wayland on FreeBSD. Several meetings has been held over the course of the period. Meeting notes have been sent out to the public x11@FreeBSD.org mailing list. People who are interested in helping out can find us on the x11@FreeBSD.org mailing list, or on our gitter chat: https://gitter.im/FreeBSDDesktop/Lobby. We are also available in #freebsd-xorg on EFNet. We also have a team area on GitHub where our work repositories can be found: https://github.com/FreeBSDDesktop __________________________________________________________________ FreeBSD Release Engineering Team Category: team The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things. During the fourth quarter of 2018, the FreeBSD Release Engineering team continued working on the 12.0-RELEASE. The stable/12 branch was created on October 19, with the first BETA build being started shortly after. The release cycle slipped slightly with the addition of 12.0-BETA4, after which the releng/12.0 branch was created on November 16. The remainder of the release cycle continued relatively smoothly for the duration of the release candidate (RC) phase, with the final release builds starting December 7, and the official announcement sent December 11. Throughout the quarter, several development snapshots builds were released for the head and stable/11 branches. Much of this work was sponsored by the FreeBSD Foundation. __________________________________________________________________ Ports Collection Links About FreeBSD Ports URL: https://www.FreeBSD.org/ports/ Contributing to Ports URL: https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-= contributing.html FreeBSD Ports Monitoring URL: http://portsmon.freebsd.org/index.html Ports Management Team">Ports Management Team URL: https://www.freebsd.org/portmgr/index.html Contact: Ren=E9 Ladan Contact: FreeBSD Ports Management Team The number of ports in the last quarter shrunk a bit to 32,900. At the end of the quarter there were 2365 open port PRs of which a small 500 were unassigned. The last quarter saw 7333 commits from 174 committers. This means that more port PRs were resolved than last quarter and the number of commits remained approximately the same. During the last quarter, we welcomed Alexandre C. Guimar=E3es (rigoletto@) and Vin=EDcius Zavam (egypcio@). The port commit bits of Alberto Villa (avilla@), Lars Thegler (lth@), Dryice Dong Liu (dryice@), Ion-Mihai Tetcu (itetcu@), Gabor Pali (pgj@), Tom Judge (tj@), Ollivier Robert (roberto@), and Maxim Sobolev (sobomax@) were taken in for safekeeping. The number of commit bits safekept is higher than usual because for port commit bits the idle timeout changed from 18 months to 12 months. Some default versions were changed: * PHP from 7.1 to 7.2 * Perl5 from 5.26 to 5.28 * Ruby from 2.4 to 2.5 * For LLVM, version 7.0 is now supported as a default version. Other big changes are: * info files are stored in the share/info directory just as other operating systems do. * PyQt ports can now be installed concurrently. * As FreeBSD 10 reached its end of life, support for this branch has been removed from the Ports Collection. People still requiring FreeBSD 10 support can use the RELEASE\_10\_EOL tag. * USES=3Dcmake now defaults to outsource * KDE 4 has reached its end-of-life and has been removed from the Ports Collection. Eager as ever, antoine@ ran 36 exp-runs this quarter to ensure major port upgrades were correct. __________________________________________________________________ Projects Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects. amd64 Usermode Protection Keys Links The patch URL: https://reviews.freebsd.org/D18893 Contact: Konstantin Belousov Skylake Xeons have a new feature in 4-level paging implementation called Usermode Protection Keys. It is a complementary page access permission management mechanism, which provides very low-overhead disabling of all accesses or only modifications, on per-page basis. Each thread of execution gets 16 slots, called protection keys, while each userspace page mapping is tagged with one key. Processor provides a new 32bit register PKRU, which holds access and modification disable bits per key, the PKRU register is automatically context-switched, and managed by userspace using RDPKRU and WRPKRU instructions. See Intel SDM rev. 68 Vol 3 4.6.2 Protection Keys for further details. Since a key index must be always specified, this makes the key zero a default key, which permissions are tricky to modify without breaking the process environment. The rest 15 keys are usable, for instance process might put some sensitive data like decoded private key into the key protected area, and only enable access on as needed basis, without issuing costly mprotect(2) syscall. Note that permissions are enforced even for kernel access, so sneaky read(2) from other thread is subject to the same permission checks. I implemented the support for the amd64 pmap and provided convenient wrappers in libc both for 64bit and 32bit processes. Prototypes for the API are presented below and their use should be obvious from the explanation. int x86_pkru_get_perm(unsigned int keyidx, int access, int modify); int x86_pkru_set_perm(unsigned int keyidx, int access, int modify); int x86_pkru_protect_range(void *addr, unsigned long len, unsigned int keyidx, int flag); int x86_pkru_unprotect_range(void *addr, unsigned long len); This project was sponsored by The FreeBSD Foundation. __________________________________________________________________ bhyve - Live Migration Links Github wiki - How to Warm Migrate a bhyve guest URL: https://github.com/FreeBSD-UPB/freebsd/wiki/Virtual-Machine-Migration-us= ing-bhyve Github - Warm Migration branch URL: https://github.com/FreeBSD-UPB/freebsd/tree/projects/bhyve_migration Github - Live Migration branch URL: https://github.com/FreeBSD-UPB/freebsd/tree/projects/bhyve_migration_dev Contact: Elena Mihailescu Contact: Darius Mihai Contact: Sergiu Weisz Contact: Mihai Carabas The Migration feature uses the Save/Restore feature to migrate a bhyve guest from a FreeBSD host to another FreeBSD host. To migrate a bhyve guest, one needs to start an empty guest on the destination host from a shared guest image using the bhyve tool with the -R option followed by the source host IP and the port to listen to migration request. On the source host, the migration is started by executing the bhyvectl command with the --migrate or --migrate-live option, followed by the destination host IP and the port to send to the messages. New features added: * Prove that live migration cannot be implemented using the FreeBSD's Copy-on-Write mechanism; * Add --migrate-live option to bhyvectl; * Add additional message exchange between source and destination host to establish the migration type and the number of rounds; * Implement a dirty-bit approach for live migrating the guest's wired memory; Future tasks: * Clear the dirty bit after each migration round; * Extend live migration to highmem segment; * Extend live migration to unwired memory; This project was sponsored by Matthew Grooms. __________________________________________________________________ bhyve - Save/Restore Links Github repository for the save/restore and migration features URL: https://github.com/FreeBSD-UPB/freebsd/tree/projects/bhyve_migration Github wiki - How to Save and Restore a bhyve guest URL: https://github.com/FreeBSD-UPB/freebsd/wiki/Save-and-Restore-a-virtual-m= achine-using-bhyve Github wiki - Suspend/resume test matrix URL: https://github.com/FreeBSD-UPB/freebsd/wiki/Suspend-Resume-test-matrix Contact: Elena Mihailescu Contact: Darius Mihai Contact: Sergiu Weisz Contact: Mihai Carabas The Save/Restore for bhyve feature is a suspend and resume facility added to the FreeBSD/amd64's hypervisor, bhyve. The bhyvectl tool is used to save the guest state in three files (a file for the guest memory, a file for devices' and CPU's state and another one for some metadata that are used in the restore process). To suspend a bhyve guest, the bhyvectl tool must be run with the --suspend option followed by the guest name. To restore a bhyve guest from a checkpoint, one simply has to add the -r option followed by the main state file (the same file that was given to the --suspend option for bhyvectl) when starting the VM. New features added: * Improve timers' save and restore state feature; * Fix synchronization issues related to the ahci device save and restore state feature; * Add suspend/resume support for Windows guests; * Refactor save and restore code - save component's state field by field Future tasks: * Open ticket on Phabricator; * Add suspend/resume support for nvme; * Add suspend/resume support for virtio-console; * Add suspend/resume support for virtio-scsi; * Add TSC offseting for restore for AMD CPUs; This project was sponsored by Matthew Grooms; iXsystems;. __________________________________________________________________ Capsicum Links Capsicum Wiki Page URL: https://wiki.FreeBSD.org/Capsicum Contact: Mark Johnston Contact: Ed Maste Contact: Mariusz Zaborski The major improvement in Capsicum is introducing a Casper service fileargs, which is an easy way helps to sandbox the utils which need access to the filesystem. There are several examples of usage fileargs in applications like brandelf(1), wc(1), savecore(1), head(1) and strings(1). The fileargs service also helps to bring new features to the bhyve like audio device which is secured using Capsicum. Another big step was introducing a private Casper service and sandboxing the rtsold(8) and rtsol(8). Next major improvement, which is still under the review, is rewriting the sysctl service. The new sysctl service will allow in an easy way to use cap_sysctl() and cap_sysctlnametomib(). __________________________________________________________________ Collection of vt(4) color schemes Links iTerm2-Color-Schemes repository with previews URL: https://github.com/mbadolato/iTerm2-Color-Schemes iTerm2-Color-Schemes vt color schemes URL: https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/freebsd_vt Contact: Tobias Kortkamp Since 11.2-RELEASE vt(4) supports setting custom color schemes via the kern.vt.color.X.rgb tunables. This is nice but what was missing were some ready to use themes. iTerm2-Color-Schemes is a collection of around 200 color schemes for various terminals. It has recently gained support for vt(4). Customizing your console is now as easy as copy and pasting your favorite theme to /boot/loader.conf or /boot/loader.conf.local. __________________________________________________________________ i386 PAE Pagetables Links https://reviews.freebsd.org/D18894 URL: https://reviews.freebsd.org/D188= 94 Contact: Konstantin Belousov The i386 architecture (in modern terms, x86 architecture in 32bit protected mode), has supported hardware execute-disable since early 200x. The only problem preventing the i386 FreeBSD kernel from using it was that default page table format used by the kernel is 2-level paging, while nx bit is only available for PAE (2.5 levels) page table structures. PAE option is too intrusive, it changes both vm_paddr_t and bus_addr_t to 64bit, which is not too friendly to many drivers. I tried to provide PAE_PAGETABLES kernel option which only changed page table format, without affecting vm_paddr_t or bus_addr_t, thus keeping kernel/driver interfaces intact. But I was not able to make i386 releases carry two kernels, one to support relic hardware which cannot use PAE pagetables, and another for newer machines. So I finally did a merge which makes single i386 kernel carry two pmap modules, one for PAE and one for old two-level paging structures. Also I did not find a reason to not expand vm_paddr_t, while I have to keep bus_addr_t at 32bit. With a single boot-time knob, i386 kernel can now also utilize up to 24G or memory, if drivers correctly use busdma(9). I tried to fix iflib(4) and ahci(4) so that the most common hardware work, but I cannot do the pass over the whole tree. Hopefully, together with earlier 4/4G split work, this gives enough life for i386 kernel. This project was sponsored by The FreeBSD Foundation. __________________________________________________________________ Improving FreeBSD boot security Links TPM 2.0 driver URL: https://svnweb.freebsd.org/base/head/sys/dev/tpm/tpm20.c?revision=3D3420= 84&nview=3Dmarkup Loader Secure Boot support URL: https://reviews.freebsd.org/D18798 Secure Boot library URL: https://reviews.freebsd.org/D18797 binsign utility URL: https://reviews.freebsd.org/D18799 Contact: Michal Stanek Contact: Marcin Wojtas Contact: Kornel Duleba FreeBSD now supports TPM 2.0 devices. TPM (Trusted Platform Module) is a discrete chip which provides secure computation and secure NVRAM storage. It is most commonly associated with Measured Boot i.e. providing hash measurements of boot elements such as firmware images and boot configuration to the OS. In FreeBSD, the TPM can be used to strengthen security of services such as Strongswan IPsec, SSH or TLS by performing cryptographic operations in the TPM chip itself using embedded keys inaccessible to software. TPM facilities such as secure NVRAM storage, data sealing, random number generation and others are also available to any software via the IBM TSS library. UEFI Secure Boot is a technology which provides authentication of images that are executed on the host during boot. This prevents persistence of unauthorized malicious boot code such as rootkits. UEFI stores a list of allowed and blacklisted certificates and verifies signatures of all boot images and UEFI applications before they are executed on the CPU. Semihalf has developed support for X509 certificates and signature verification code in EFI loader with the help of the minimal BearSSL library. Lists of allowed and forbidden certificates are retrieved from UEFI environmental variables. This allows users to sign kernel binaries with a self-signed certificate, append the signature and let the loader verify its authenticity. UEFI Secure Boot support code will most likely be integrated with sjg's Veriexec support which is currently being reviewed on Phabricator. Semihalf is also working on improving security of Veriexec by moving manifest signature verification to the kernel. This project was sponsored by Stormshield. __________________________________________________________________ pfsync performance improvement Contact: Kristof Provost While pf itself can operate on multiple states simultaneously (on different cores), pfsync could not. It used a single PFSYNC_LOCK. This greatly reduced throughput on multicore systems as soon as pfsync was loaded. This was improved by splitting the pfsync queues into buckets, based on the state ID. This ensures that updates for a given connection always end up in the same bucket, allowing pfsync to still collapse multiple updates into one, while allowing multiple cores to proceed at the same time. The buckets are independently locked, allowing multiple cores to proceed at once. The number of buckets is tunable, but defaults to twice the number of cpus. Benchmarking has shown improvement of 30 to 100% depending on hardware and setup. During this effort several vnet-related issues were fixed as well, and a basic pfsync test case was added. This was committed into head in r341646, and later merged into stable/12 and stable/11. This project was sponsored by Orange Business Services. __________________________________________________________________ PWM Kernel API and userland utility Contact: Emmanuel Vadot A new subsystem was added to the kernel for PWM drivers to register themselves. In pair with the kernel subsystem, a pwm(8) utility is also available so users can configure PWM on their embedded boards. For now the only PWM driver compatible with this subsystem is for ARM Allwinner SoCs. __________________________________________________________________ Architectures Updating platform-specific features and bringing in support for new hardware platforms. Broadcom ARM64 SoC support Contact: Michal Stanek Contact: Marcin Wojtas Semihalf has recently started work on FreeBSD support for BCM5871X SoC series. These are quad-core 64-bit ARMv8 Cortex-A57 communication processors targeted for networking applications such as 10G routers, gateways, control plane processing and NAS. Initial support will include iProc PCIe, internal BNXT Ethernet controller, OTP (One Time Programmable memory) and crypto engine acceleration for IPsec offloading. This work is expected to be ready for FreeBSD-HEAD before Q3 2019. This project was sponsored by Juniper. __________________________________________________________________ DTS Update Contact: Emmanuel Vadot DTS files (Device Tree Sources) were updated to be on par with Linux 4.20 for head and 4.19 for the 12-STABLE branch. The DTS are now compiled for some arm64 boards, as the one present in U-Boot are not always up-to-date. __________________________________________________________________ ENA FreeBSD Driver Update Links ENA README URL: https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README Contact: Michal Krawczyk ENA (Elastic Network Adapter) is the smart NIC which is used in the virtualized environment of Amazon Web Services (AWS). It supports multiple queues and can handle up to 25 Gb/s, depending on the instance type on which it is used. ENAv2 has been under development for FreeBSD, similar to Linux OS and DPDK. New changes are including: * Upgrade of the HAL to the version supporting ENAv2 * Optimization of the logging on the Tx path * LLQ (Low Latency Queue) feature, which is reducing latency on instances supporting ENAv2 * Optimization of the locks on hot paths by adding Tx queue management and lockless Rx queue cleanup * Fixes on the error handling paths * Use bitfield for tracking device states * Add additional doorbells on Tx path * Add queue depth setup in the runtime and allows Rx queue depth to be configured independently * And more minor bug fixes and code reorganization Todo: * Internal review and validation * Upstream of the patches This project was sponsored by Amazon.com Inc. __________________________________________________________________ FreeBSD on Power9 (ppc64) Parity * NMI semantics: NMIs need to be emulated by only soft disabling interrupts, disabling interrupts blocks all interrupts except machine check exceptions and system resets. * Superpage support is stable and on by default in the POWER9BSD staging branch * NUMA support: Parse OFW and set up appropriate structures for memory to be allocated from the correct domain and interrupts to be bound to the correct socket. * LKPI support for POWER9, Drm-next supports radeonkms. Some additional big endian changes required for amdgpu. * Interrupt handling improvements resulting in up to a 10% reduction in buildkernel time. * Cached XICS IPI vector * Added XIVE exploitation mode driver * Rust support in review. * Successfully booted an LLVM compiled kernel. __________________________________________________________________ FreeBSD/RISC-V update Contact: Ruslan Bukin Contact: Mark Johnston FreeBSD/RISC-V is getting more mature during last quarter. We have optimised RISC-V copyin(9)/copyout(9) routines. They now support word-sized copies where possible to dramatically increase speed of copying data between kernel and userspace. We made a series of improvements and bug fixes to pmap support (machine-dependent portion of virtual memory subsystem). This part was not touched during the last years, and is now getting attention. RISC-V GENERIC kernel gets support for witness(4) (The FreeBSD lock validation facility). The British company Embecosm has reported that they were able to boot FreeBSD on real hardware -- a SiFive Unleashed board. The support is limited to a single core only. We are expecting patches from them. __________________________________________________________________ libvdsk - QCOW2 implementation Links Github - Libvdsk QCOW2 branch URL: https://github.com/FreeBSD-UPB/freebsd/tree/projects/bhyve_libvdsk Contact: Sergiu Weisz Contact: Marcelo Araujo Contact: Mihai Carabas New features added: * Extend libvdsk to make it easier to implement new formats; * Implement read/write/probe functionalities in order to parse QCOW2 image files; Future tasks: * Add support for Copy-On-Write; * Add support for multiple snapshots; * Integrate libvdsk in bhyve This project was sponsored by Matthew Grooms. __________________________________________________________________ Marvell 8K SoC support Contact: Emmanuel Vadot Contact: Luis Octavio O Souza Support for booting FreeBSD on Marvell 8K SoC (present on the MacchiatoBin for example) has been commited. As of today, clocks, gpio, thermal, sdcard/eMMC drivers has been commited. SATA and USB were already working. This project was sponsored by Rubicon Communications, LLC ("Netgate"). __________________________________________________________________ Pinebook SDCard Image Contact: Emmanuel Vadot SDCard image is now produced for the Pinebook. By default the console is directed in the EFI Framebuffer and the serial console. __________________________________________________________________ RockChip Support Contact: Emmanuel Vadot Early support for the RockChip RK3399 has been commited. For now it's only possible to netboot boards (Like the RockPro64). Original patch was submitted by Greg V . Support for the RK805 and RK808 PMIC (Power Management IC) has been added. This allow changing some regulators voltage such as the cores one so cpufreq support works. You can change core frequencies with sysctl or powerd(8). __________________________________________________________________ Ports Changes affecting the Ports Collection, whether sweeping changes that touch most of the tree, or individual ports themselves. FreeBSD KDE status report Links KDE FreeBSD URL: https://freebsd.kde.org/ Contact: Adriaan de Groot Contact: Tobias C. Berner First of all, we removed KDE 4 from the ports tree this quarter. Qt4 will follow it by the end of march. Thanks to the update of libinput in ports we could finally update Plasma Desktop past 5.12, and are now again in sync with the upstream releases. KDE Frameworks and Applications were also kept in sync with upstream. We've also updated Qt5 to 5.12 -- with QtWebEngine still hanging on on 5.9.5 for now, but thanks to a new contributor we should have 5.12 by the end of Q1. In the background we changed the default behavior of cmake in the ports tree to default to outsource builds. People who are willing to contribute can find us on #kde-freebsd on freenode, and the kde@FreeBSD.org mailing list. Further we accept pull-requests and contributions on github.com/freebsd/freebsd-ports-kde. __________________________________________________________________ Miscellaneous Objects that defy categorization. BSD PL Links https://bsd-pl.org/ URL: https://bsd-pl.org/ Contact: Official Contact: Konrad Witaszczyk Contact: Mariusz Zaborski Contact: Jarosl/aw Zurek The Polish BSD User group is an initiative promoting systems from the BSD family. We organize both meetings and as well as tutorial sessions. In general, we have three presentations which last around 15 minutes. Afterwards there's an open discussions about topics related to operating systems and security. There's something for everybody, and the first presentation is about something connected to BSD and it's aimed at beginners. The second presentation is for more advanced BSD users but the final talk is more general and not connected to BSD. Usually it covers an interesting topic related to technology. Everyone can suggest a subject for the presentations and discussions. Some presentations from the past were about: ZFS checkpoints, GELI, FreeNAS, PAM, DTrace, Yubikey, Pytest, ZeroTrust, Jenkins and the iocage training session. Hope to see you there! __________________________________________________________________ Third-Party Projects Many projects build upon FreeBSD or incorporate components of FreeBSD into their project. As these projects may be of interest to the broader FreeBSD community, we sometimes include brief updates submitted by these projects in our quarterly report. The FreeBSD project makes no representation as to the accuracy or veracity of any claims in these submissions. ClonOS: virtualization platform on top of FreeBSD Operating System Links ClonOS Main Site URL: https://clonos.tekroutine.com Contact: Oleg Ginzburg What is ClonOS? ClonOS is a turnkey open-source platform based on FreeBSD and the CBSD framework. ClonOS offers a complete web UI for an easy control, deployment and management of FreeBSD jails containers and bhyve/Xen hypervisor virtual environments. ClonOS is currently the only available platform which allows both Xen and bhyve hypervisors to coexist on the same host. Since ClonOS is a FreeBSD-based platform, it has the ability to create and manage jails natively, allowing you to run FreeBSD applications without losing performance. Features: * easy management via web UI interface * bhyve management (create, delete VM) * Xen management (create, delete VM) [coming soon, roadmap] * connection to the "physical" guest console via VNC from the browser or directly * real time system monitoring * access to load statistics through SQLite3 and beanstalkd * support for ZFS features (cloning, snapshots) * import/export of virtual environments * public repository with virtual machine templates * puppet-based helpers for configuring popular services ClonOS 2018Q4 Status Report During this period, work was carried out to: * implement real-time graph for jail/bhyve based on RACCT statistics * test bhyve live migration, support live migration in CBSD * prepare ClonOS 19.01-RELEASE Open task: * ClonOS roadmap: https://clonos.tekroutine.com/roadmap.html * FreeNAS/XigmaNAS or any other NAS integration * I would like to see ClonOS in real-world use. In this regard, I am interested in finding more people and companies that use FreeBSD for vm/jail services. __________________________________________________________________ HardenedBSD 2018Q4 Update Links https://hardenedbsd.org URL: https://hardenedbsd.org Contact: Shawn Webb Introduction to HardenedBSD HardenedBSD is a security-enhanced fork of FreeBSD that aims to provide the BSD community with a clean-room reimplementation of the publicly-documented parts of the grsecurity patchset for Linux. We maintain close compatibility with FreeBSD by syncing every six hours with FreeBSD. HardenedBSD Foundation Update Through a generous donation by DEF CON, the computer security conference held each year in Las Vegas, and an anonymous member of the community, the HardenedBSD Foundation was able to provide the HardenedBSD project with a new Cavium ThunderX2 server. HardenedBSD has been working closely with FreeBSD's and Cavium's Jayachandran (jchandra@freebsd) to gain working support for the ThunderX2. As soon as the ThunderX2 becomes functional, HardenedBSD will be able to support both 12-STABLE and 13-CURRENT for arm64. We assisted OPNsense's migration from FreeBSD to HardenedBSD as the base operating system. OPNsense's January 2019 release (19.1) will complete the migration. Further work will be done to enable HardenedBSD's PaX NOEXEC implementation in OPNsense. PaX NOEXEC is a strong form of W^X, which prevents memory allocations from being both writable and executable, and toggling between the two. The HardenedBSD Foundation Corp. is a registered 501(c)(3) tax-exempt not-for-profit charitable organization in the United States. We look forward to a productive 2019, with work to support Cross-DSO CFI still ongoing. HardenedBSD 12-STABLE Released In December 2018, HardenedBSD published is first official release of 12-STABLE. From the release announcement: Improvements in 12-STABLE from 11-STABLE: * Non-Cross-DSO Control-Flow Integrity (CFI) for applications on amd64 and arm64. At this time, CFI is not applied to the kernel. More info on CFI is below. * Jailed bhyve (upstreamed to FreeBSD) * Per-jail toggles for unprivileged process debugging (the security.bsd.unprivileged_process_debug sysctl node. Upstreamed to FreeBSD.) * Spectre v2 mitigation with retpoline applied to the entirety of base and ports (with only a few ports opting out.) * Symmetric Multi-Threading (SMT) disabled by default (re-enable by setting machdep.hyperthreading_allowed to 1 in loader.conf(5)). * Migration of more compiler toolchain components to llvm's implementations (llvm-ar, llvm-nm, and llvm-objdump). * Compilation of applications with Link-Time Optimization (LTO). Non-Cross-DSO CFI Non-Cross-DSO CFI is an exploit mitigation technique that helps to prevent attackers from modifying the behavior of a program and jumping to undefined or arbitrary memory locations. Microsoft has implemented a variant of CFI, which they term Control Flow Guard, or CFG. The PaX team has spent the last few years perfecting their Reuse Attack Protector, RAP. CFI, CFG, and RAP all attempt to accomplish the same goal, with RAP being the most complete and effective implementation. Clang's CFI is stronger than Microsoft's CFG and PaX Team's RAP is stronger than both CFI and CFG. RAP would be a great addition to HardenedBSD; however, it requires a GPLv3 toolchain and is patented. Clang's CFI requires a linker that supports Link-Time Optimization (LTO). HardenedBSD 12-STABLE ships with lld as the default linker. All CFI schemes have been enabled for nearly all applications in base. Please note that any application that calls function pointers resolved via dlopen + dlsym will require the cfi-icall scheme to be disabled. HardenedBSD is the first enterprise operating system to apply Non-Cross-DSO CFI broadly to userland. __________________________________________________________________ The nosh project Links Introduction and blurb URL: http://jdebp.eu./Softwares/nosh/ Guide URL: http://jdebp.eu./Softwares/nosh/guide.html FreeBSD binary packages URL: http://jdebp.eu./Softwares/nosh/freebsd-binary-packages.html Installation how-to URL: http://jdebp.eu./Softwares/nosh/timorous-admin-installation-how-to.html Roadmap URL: http://jdebp.eu./Softwares/nosh/roadmap.html Contact: Jonathan de Boyne Pollard Background The nosh project is a suite of system-level utilities for initializing, running, and shutting down BSD systems; and for managing daemons, terminals, and logging. It supersedes BSD init, the Mewburn rc system, and OpenRC, drawing inspiration from daemontools-encore for service control/status mechanisms, UCSPI for networked services, Solaris SMF for named milestones, and IBM AIX for separated service and system management. It includes a range of compatibility mechanisms, including shims for familiar commands from other systems, and an automatic import mechanism that takes existing configuration data from /etc/fstab, /etc/rc.conf{,.local}, /etc/ttys, and elsewhere, applying them to its native service definitions and creating additional native services. It is portable (including to Linux) and composable, it provides a migration path from the world of systemd Linux, and it does not require new kernel APIs. It provides clean service environments, has orderings and dependencies between services, has parallelized startup and shutdown (including fsck), provides strictly size-capped and autorotated logging, has the service manager as a "subreaper", provides per-user service management as well as system-wide, provides user-space virtual terminals, brings TTY login under the general service management umbrella, and uses kevent(2) for event-driven parallelism. For more, see the aforelinked Introduction and blurb, and the nosh Guide. News The project has seen a lot of development since the last status report in 2017. To briefly touch upon just some of the things that have been worked on: * There are several more packages for things like running Bruce Guenter's bcron, shims for OpenRC's rc-update and rc-service tools, and shims for portable substitutes for a couple of Linux's util-linux tools. * There are quite a lot of new tools, including getuidgid, userenv-fromenv, setgid-fromenv, envgid, printenv, setlogin, console-decode-ecma48, console-control-sequence, console-flat-table-viewer, console-input-method, and local-stream-socket-connect. To look at just two of these: * printenv as a built-in allows more convenient use in conjunction with clearenv. It can also generate output in some additional formats. * console-control-sequence also responds to the name setterm, and can do most of what the non-portable util-linux tool by that name does; excluding the things that are specific to non-portable Linux ioctl()s and control codes (such as display adapter power management), but also including _extra_ standard DEC VT and ECMA-48 things that the util-linux tool does _not_ do (such as turning strikethrough, calculator keypad application mode, mouse reports, and the alternative screen buffer on and off). * There are a lot of new service bundles for more services, too many to list here. One can find them listed in the 1.37 and 1.38 + 1.39 release announcements. * There are new chapters in the nosh Guide, on packages and ports, on resources for terminals such as keyboard maps, input methods, and fonts, and on how the head0 user-space virtual terminal is structured. There are also new manual pages - in addition to the ones for all of the new commands, of course - on the subjects of the http://jdebp.eu./Softwares/nosh/guide/TerminalCapabilities.html system. There are also some replacements for some Linux manual pages that have gone missing over the past decade. * The external format configuration import subsystem has seen some major improvements in per-user service configuration. The per-user service manager itself gained a control FIFO, addressing a long-standing bug. A particular area of improvement since the last status report is the inclusion of input method capabilities in user-space virtual terminals. The input method mechanism uses the same CIN files as used by several other softwares, similar to how one can use existing SCO/FreeBSD keyboard maps and FreeBSD vt fonts. It places a simple textual user interface on top of a user-space virtual terminal, can switch amongst multiple input methods on the fly, and responds to both the dedicated keys on a JIS 106/109-key keyboard or a Korean 103/106-key keyboard and the conventional keys used on other keyboards. The blurb includes an example of how this works for a Japanese user, and the virtual terminal chapters of the nosh Guide now incorporate input methods into the doco. Another area of work was eliminating Wide NCurses from almost all of the tools, apart from the one tool that by definition uses it (console-ncurses-realizer). Wide NCurses has long been a porting difficulty for several operating systems, including Gentoo Linux and OpenBSD, and does not really model modern real world terminals and terminal emulators very well. It has been replaced by a new TerminalCapabilities library, in conjunction with a library for handling ECMA-48 character sequence decoding and ECMA-48/DEC VT control sequence generation. The decoder is the basis for the new console-decode-ecma48 tool, for example, as well as being the decoder for terminal input in console-termio-realizer and in full-screen TUI tools like chkservice and the new console-flat-table-viewer. The external formats import subsystem will also now make a replacement /etc/system-control/convert/termcap/termcap.db that one can use, which includes amongst other things the currently missing teken terminal type. Roadmap In addition to what is on the aforelinked roadmap, several things are on the cards for forthcoming versions. Tools that can feed the process table into console-flat-table-viewer in the proper vis(3) form. The ability to have different keyboard maps for different keyboards if one has multiple keyboards. A Linux shim for login.conf. Proper handling of CSI sub-parameters in SoftTerm. A manual page for the CIN file format. A time-env-next-matching tool. How you can help * The Z shell completions now have extensive coverage of the toolset, but there are no completions for the Bourne Again shell or the Friendly Interactive shell. Work on such completions would be welcome. The users who use those shells would welcome it especially. * The system-manager already recognizes a -b option for emergency mode. Work to make the FreeBSD loader and kernel send such an option to process #1, in response to an additional emergency mode boot menu choice, would be very welcome. * The monitor-fsck-progress and monitored-fsck tools stand ready to work with a -C option to fsck that makes it spit out progress information to an open file descriptor. Another way to help is to add this capability to fsck. * teken needs to be added to base termcap. It was put into NCurses terminfo back in 2014. __________________________________________________________________ --qDbXVdCdHGoSgWSk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGmBAEBCgCQFiEEbvjBe1hu6u1NeinjJCKD+Vwk/7oFAlyWM0RfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDZF RjhDMTdCNTg2RUVBRUQ0RDdBMjlFMzI0MjI4M0Y5NUMyNEZGQkESHHRyYXN6QGZy ZWVic2Qub3JnAAoJECQig/lcJP+6rcAIAJ9nIdRqBFEmGZRBkW5JtdiakjdT8ZMJ IK7+a1tl4yQKynZdNCrsdD6QbKK6rMBsVK3QNQR8d6wKTRCRhgm7DyFOr5E49MFx C+ESjPjgHFuUUFKlSUiFn23m5YAjAoPl1YoEo40GIYdAGsCg4yIJQrlXn6vwpmUX ba5mGUiOK6PnqjUm1tF3A9LEw0hE3eYCZS+ZgAqs56GUTtN7b6KMeuibX1uPAUgs 2hOmiOv3iQholzl5V+swmiKPbR1H5qp/j0TttS4Zf1KKC9+Zh0A8SzSvtdlyoWZD b7zsRCn4RlJypa4lztrMZld0euU9OCQ7gnYQmtN0bJLZy9opI4t3h+g= =eP4w -----END PGP SIGNATURE----- --qDbXVdCdHGoSgWSk--