Add support for Unihertz Jelly2 [0e8d:2008]

2021-10-28 Thread Tim Chase
It appears to be a pretty bog-standard Android phone that should
present as an MTP device.  Output from dmesg says

  ugen0 at uhub1 port 2 "Unihertz Jelly2" rev 2.10/2.23 addr 3

usbdevs says it's a

  addr 03: 0e8d:2008 Unihertz, Jelly2

I'm not sure how to go about adding those USB IDs, but hopefully this
is enough to get it listed in the right place.

This is on "7.0 GENERIC.MP#232 amd64" (generic -RELEASE).

My hope is to get a simple-mtpfs mount at a minimum.

I can provide further information if needed.

Thanks,

-tkc





Re: NSD exit status 11 on 7.0

2021-10-28 Thread Mischa

Hi All,

Just to confirm that the below patch has been working like a charm.
Since the patch was applied, and only this patch, NSD has been behaving 
properly.


Mischa


On 2021-10-20 12:33, Florian Obser wrote:

On 2021-10-20 07:55 +02, Otto Moerbeek  wrote:

On Wed, Oct 20, 2021 at 07:47:30AM +0200, Mischa wrote:

Unfortunately our joy was short lived. This morning I noticed a lot 
of
Oct 20 07:44:15 name1 nsd[80814]: server 76410 died unexpectedly with 
status

11, restarting

It looks like there is a potentially fixed in version 4.3.8.

https://github.com/NLnetLabs/nsd/issues/195
https://github.com/NLnetLabs/nsd/issues/189

https://github.com/NLnetLabs/nsd/blob/NSD_4_3_8_REL/doc/ChangeLog
23 August 2021: Wouter
- Fix #189: nsd 4.3.7 crash answer_delegation: Assertion
`query->delegation_rrset' failed.

(Thanx Roger!)


That is not the correct fix, it only hides the problem and worse,
produces wrong results. Please try this, which is the fix for
https://github.com/NLnetLabs/nsd/issues/194

diff --git namedb.c namedb.c
index 06bef71147c..772e038b16d 100644
--- namedb.c
+++ namedb.c
@@ -583,10 +583,13 @@ domain_find_ns_rrsets(domain_type* domain,
zone_type* zone, rrset_type **ns)
 {
/* return highest NS RRset in the zone that is a delegation above */
domain_type* result = NULL;
+   rrset_type* rrset = NULL;
while (domain && domain != zone->apex) {
-   *ns = domain_find_rrset(domain, zone, TYPE_NS);
-   if (*ns)
+   rrset = domain_find_rrset(domain, zone, TYPE_NS);
+   if (rrset) {
+   *ns = rrset;
result = domain;
+   }
domain = domain->parent;
}




As far as I can tell from the things Martijn found it might be the 
case.


Will give that a try and report back.

Mischa


Are you going to try just the one line fix or the whole of 4.3.8?
I suppose if we want to backport to -stable the one-line fix is
preferred.


Yes, except, we should go with the correct fix above ;) Nothing else is
interesting to backport in 4.3.8 as far as I can tell.



-Otto



I provided an explanation what's going on in
https://github.com/NLnetLabs/nsd/issues/195#issuecomment-947505367
Reproduced here (slightly edited):

712296f (the one-line-fix) only hides the problem, it doesn't fix
anything. The real fix is ba0002e (the diff above).

f.9.1.1.0.0.2.ip6.arpa. is an ENT in ip6.arpa. and so is 2.ip6.arpa.
In line 1420 in query.c we haveq->delegation_domain = 
domain_find_ns_rrsets(

and the unfixed domain_find_ns_rrsets would find the NS RRset for
9.1.1.0.0.2.ip6.arpa.

But it would then continue searching upwards, overwriting *ns which is
>delegation_rrset. Until it hits 2.ip6.arpa. which has no NS
records. So q->delegation_rrset = NULL but at the same time result !=
NULL because we did find a delegation RRset along the way, we just
ignored it (at least for 9.1.1.0.0.2.ip6.arpa., I didn't check if there
was one further up).

domain_find_ns_rrsets returns non-NULL which means we found a
delegation, but at the same time it doesn't give us the delegation NS
RRset.

It is probably best to revert 712296f since on its own it produces 
wrong

results. I.e. adding it to 4.3.7 gives this:

$ dig @192.168.178.219 +norec f.9.1.1.0.0.2.ip6.arpa NS

; <<>> dig 9.10.8-P1 <<>> @192.168.178.219 +norec 
f.9.1.1.0.0.2.ip6.arpa NS

; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10923
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;f.9.1.1.0.0.2.ip6.arpa.INNS

;; AUTHORITY SECTION:
ip6.arpa.3600INSOAb.ip6-servers.arpa.
nstld.iana.org. 2021100154 1800 900 604800 3600

;; Query time: 0 msec
;; SERVER: 192.168.178.219#53(192.168.178.219)
;; WHEN: Wed Oct 20 10:24:56 CEST 2021
;; MSG SIZE  rcvd: 115

But the correct answer is this:

dig @::1 +norec  f.9.1.1.0.0.2.ip6.arpa NS

; <<>> dig 9.10.8-P1 <<>> @::1 +norec f.9.1.1.0.0.2.ip6.arpa NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48090
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;f.9.1.1.0.0.2.ip6.arpa.INNS

;; AUTHORITY SECTION:
9.1.1.0.0.2.ip6.arpa.86400INNSr.arin.net.
9.1.1.0.0.2.ip6.arpa.86400INNSu.arin.net.
9.1.1.0.0.2.ip6.arpa.86400INNSx.arin.net.
9.1.1.0.0.2.ip6.arpa.86400INNSy.arin.net.
9.1.1.0.0.2.ip6.arpa.86400INNSz.arin.net.
9.1.1.0.0.2.ip6.arpa.86400INNSarin.authdns.ripe.net.

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Wed Oct 20 10:24:16 CEST 2021
;; MSG SIZE  rcvd: 171




Re: run(4) panic: null node

2021-10-28 Thread Gerhard Roth
On Thu, 28 Oct 2021 10:10:23 + Klemens Nanni  wrote:
> On Tue, Sep 14, 2021 at 05:52:08PM -0400, James Hastings wrote:
> > >Synopsis:  run(4): connecting to WEP network. panic: null node
> > >Category:  kernel
> > >Environment:  
> > System  : OpenBSD 7.0
> > Details : OpenBSD 7.0-beta (GENERIC.MP) #206: Thu Sep  9 09:24:02 
> > MDT 2021
> >  
> > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > 
> > Architecture: OpenBSD.amd64
> > Machine : amd64  
> > >Description:  
> > I was testing various networks with a Ralink RT5370 USB run(4) device.
> > Connecting to a WEP-enabled SSID reliably produces the following kernel 
> > panic:  
> 
> I looked at this out of curiosity and the code seems obviously wrong.
> 
> > panic: null node
> > Stopped at db_enter+0x10:  popq%rbp
> > TID   PIDUID PRFLAGS PFLAGS  CPU  COMMAND
> > *515938  8927  0 0x14000  0x2003K usbtask
> > db_enter() at db_enter+0x10
> > panic(81e29b27) at panic+0xbf
> > ieee80211_send_mgmt(80e7d048,0,c0,3,0) at ieee80211_send_mgmt+0x3aa
> > run_set_key_cb(80e7d000,80e7fe00) at run_set_key_cb+0x76
> > run_task(80e7d000) at run_task+0xa9
> > usb_task_thread(800022d72550) at usb_task_thread+0x135
> > end trace frame: 0x0, count: 9  
> 
> run_init() does this
> 
>   if (ic->ic_flags & IEEE80211_F_WEPON) {
>   /* install WEP keys */
>   for (i = 0; i < IEEE80211_WEP_NKID; i++)
>   (void)run_set_key(ic, NULL, >ic_nw_keys[i]);
>   }   
> 
> run_set_key() passes that NULL argument unaltered to run_set_key_cb()
> which eventually calls ieee80211_send_mgmt() with a NULL `ni' argument
> which hits the panic.
> 
> I don't see how this can work;  maybe an oversight whenever run(4) or
> 802.11 was touched last?

Yes, apparently before
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/if_run.c.diff?r1=1.131=1.132=h
run_set_key_cb() wouldn't even look at 'cmd->ni'.


> 
> > >How-To-Repeat:  
> > $ doas ifconfig run0 nwid MYWEPSSID nwkey 0xXX
> > $ doas ifconfig run0 up
> >   
> > >Fix:  
> > Unknown at this time.  
> 



smime.p7s
Description: S/MIME cryptographic signature


Re: run(4) panic: null node

2021-10-28 Thread Klemens Nanni
On Tue, Sep 14, 2021 at 05:52:08PM -0400, James Hastings wrote:
> >Synopsis:run(4): connecting to WEP network. panic: null node
> >Category:kernel
> >Environment:
>   System  : OpenBSD 7.0
>   Details : OpenBSD 7.0-beta (GENERIC.MP) #206: Thu Sep  9 09:24:02 
> MDT 2021
>
> dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>   Architecture: OpenBSD.amd64
>   Machine : amd64
> >Description:
>   I was testing various networks with a Ralink RT5370 USB run(4) device.
>   Connecting to a WEP-enabled SSID reliably produces the following kernel 
> panic:

I looked at this out of curiosity and the code seems obviously wrong.

> panic: null node
> Stopped at db_enter+0x10:  popq%rbp
> TID   PIDUID PRFLAGS PFLAGS  CPU  COMMAND
> *515938  8927  0 0x14000  0x2003K usbtask
> db_enter() at db_enter+0x10
> panic(81e29b27) at panic+0xbf
> ieee80211_send_mgmt(80e7d048,0,c0,3,0) at ieee80211_send_mgmt+0x3aa
> run_set_key_cb(80e7d000,80e7fe00) at run_set_key_cb+0x76
> run_task(80e7d000) at run_task+0xa9
> usb_task_thread(800022d72550) at usb_task_thread+0x135
> end trace frame: 0x0, count: 9

run_init() does this

if (ic->ic_flags & IEEE80211_F_WEPON) {
/* install WEP keys */
for (i = 0; i < IEEE80211_WEP_NKID; i++)
(void)run_set_key(ic, NULL, >ic_nw_keys[i]);
}   

run_set_key() passes that NULL argument unaltered to run_set_key_cb()
which eventually calls ieee80211_send_mgmt() with a NULL `ni' argument
which hits the panic.

I don't see how this can work;  maybe an oversight whenever run(4) or
802.11 was touched last?

> >How-To-Repeat:
>   $ doas ifconfig run0 nwid MYWEPSSID nwkey 0xXX
>   $ doas ifconfig run0 up
>   
> >Fix:
>   Unknown at this time.



Re: dhcpleased: No ipv4 address after sysupgrade 6.9 -> 7.0. parse_dhcp: invalid ports used

2021-10-28 Thread Klemens Nanni
On Thu, Oct 28, 2021 at 04:02:33AM +0900, Roc Vallès wrote:
> Yes, it does. It gets an IPv4 address with the check removed.

Fixed, thanks for the report.