On Tue, Aug 20, 2019 at 08:47:04AM +0200, O. Hartmann wrote:
> Recent CURRENT (r351247) fails to buildkernel due to a compilation error,
> pointing to an mii issue.
> 
> For almost every mii-related if_ the compiler drops an error like:
> ...
> Seems the subfolder for USB NICs is missing something?
> 
> Kind regards,
> 
> oh
> ....

I also encountered this, while attempting an update from r351211 to
r351245.

In looking over the files that were updated, I note

/usr/src/sys/dev/usb/net/usb_ethernet.h

the last update for which is:

------------------------------------------------------------------------
r351244 | stevek | 2019-08-19 18:06:43 -0700 (Mon, 19 Aug 2019) | 18 lines

usb_ethernet.h includes a number of mii headers, but only does so in
order to have struct mii_data available. However, it only really needs
a forward declaration of struct mii_data for use in pointer form for
the return type of a function prototype.

Custom kernel configuration that have usb and fdt enabled, but no miibus,
end up with compilation failures because miibus_if.h will not get
generated.

Due to the above, the following changes have been made to usb_ethernet.h:
 * remove the inclusion of mii headers
 * forward-declare struct mii_data
 * include net/ifq.h to satify the need for complete struct ifqueue

Reviewed by:    ian
Obtained from:  Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D21293

------------------------------------------------------------------------

(and, given the context, seems likely related to the observed issue).

I have attached a Meta data file.

Peace,
david
-- 
David H. Wolfskill                              da...@catwhisker.org
What, exactly, is the contribution of "health insurance" to health care?

See http://www.catwhisker.org/~david/publickey.gpg for my public key.
# Meta data file 
/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC/modules/usr/src/sys/modules/usb/aue/if_aue.o.meta
CMD cc -target x86_64-unknown-freebsd13.0 
--sysroot=/common/S4/obj/usr/src/amd64.amd64/tmp 
-B/common/S4/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe  
-fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -DKLD_TIED -nostdinc   
-DHAVE_KERNEL_OPTION_HEADERS -include 
/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC/opt_global.h -I. -I/usr/src/sys 
-I/usr/src/sys/contrib/ck/include -fno-common -g -fno-omit-frame-pointer 
-mno-omit-leaf-frame-pointer 
-fdebug-prefix-map=./machine=/usr/src/sys/amd64/include 
-fdebug-prefix-map=./x86=/usr/src/sys/x86/include 
-I/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC     -mcmodel=kernel 
-mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables 
-ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith 
-Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ 
-Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas 
-Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -Wno-error-unused-function 
-Wno-error-pointer-sign -Wno-error-shift-negative-value 
-Wno-address-of-packed-member -Wno-format-zero-length  -mno-aes -mno-avx  
-std=iso9899:1999 -c /usr/src/sys/dev/usb/net/if_aue.c -o if_aue.o
CMD ctfconvert -L VERSION -g if_aue.o
CWD 
/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC/modules/usr/src/sys/modules/usb/aue
TARGET if_aue.o
-- command output --
/usr/src/sys/dev/usb/net/if_aue.c:197:8: error: unknown type name 
'miibus_readreg_t'
static miibus_readreg_t aue_miibus_readreg;
       ^
/usr/src/sys/dev/usb/net/if_aue.c:198:8: error: unknown type name 
'miibus_writereg_t'
static miibus_writereg_t aue_miibus_writereg;
       ^
/usr/src/sys/dev/usb/net/if_aue.c:199:8: error: unknown type name 
'miibus_statchg_t'
static miibus_statchg_t aue_miibus_statchg;
       ^
/usr/src/sys/dev/usb/net/if_aue.c:262:2: error: use of undeclared identifier 
'miibus_readreg_desc'
        DEVMETHOD(miibus_readreg, aue_miibus_readreg),
        ^
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:5: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
           ^
<scratch space>:176:1: note: expanded from here
miibus_readreg_desc
^
/usr/src/sys/dev/usb/net/if_aue.c:262:2: error: expected expression
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:52: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
                                                          ^
/usr/src/sys/dev/usb/net/if_aue.c:262:2: error: use of undeclared identifier 
'miibus_readreg_t'
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:42: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
                                                ^
<scratch space>:177:1: note: expanded from here
miibus_readreg_t
^
/usr/src/sys/dev/usb/net/if_aue.c:263:2: error: use of undeclared identifier 
'miibus_writereg_desc'
        DEVMETHOD(miibus_writereg, aue_miibus_writereg),
        ^
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:5: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
           ^
<scratch space>:178:1: note: expanded from here
miibus_writereg_desc
^
/usr/src/sys/dev/usb/net/if_aue.c:263:2: error: expected expression
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:52: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
                                                          ^
/usr/src/sys/dev/usb/net/if_aue.c:263:2: error: use of undeclared identifier 
'miibus_writereg_t'
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:42: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
                                                ^
<scratch space>:179:1: note: expanded from here
miibus_writereg_t
^
/usr/src/sys/dev/usb/net/if_aue.c:264:2: error: use of undeclared identifier 
'miibus_statchg_desc'
        DEVMETHOD(miibus_statchg, aue_miibus_statchg),
        ^
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:5: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
           ^
<scratch space>:180:1: note: expanded from here
miibus_statchg_desc
^
/usr/src/sys/dev/usb/net/if_aue.c:264:2: error: expected expression
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:52: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
                                                          ^
/usr/src/sys/dev/usb/net/if_aue.c:264:2: error: use of undeclared identifier 
'miibus_statchg_t'
/usr/src/sys/sys/bus.h:751:19: note: expanded from macro 'DEVMETHOD'
#define DEVMETHOD       KOBJMETHOD
                        ^
/usr/src/sys/sys/kobj.h:100:42: note: expanded from macro 'KOBJMETHOD'
        { &NAME##_desc, (kobjop_t) (1 ? FUNC : (NAME##_t *)NULL) }
                                                ^
<scratch space>:181:1: note: expanded from here
miibus_statchg_t
^
/usr/src/sys/dev/usb/net/if_aue.c:278:28: error: use of undeclared identifier 
'miibus_driver'; did you mean 'aue_driver'?
DRIVER_MODULE(miibus, aue, miibus_driver, miibus_devclass, 0, 0);
                           ^~~~~~~~~~~~~
                           aue_driver
/usr/src/sys/sys/bus.h:805:37: note: expanded from macro 'DRIVER_MODULE'
        EARLY_DRIVER_MODULE(name, busname, driver, devclass, evh, arg,  \
                                           ^
/usr/src/sys/sys/bus.h:796:45: note: expanded from macro 'EARLY_DRIVER_MODULE'
        EARLY_DRIVER_MODULE_ORDERED(name, busname, driver, devclass,    \
                                                   ^
/usr/src/sys/sys/bus.h:782:18: note: expanded from macro 
'EARLY_DRIVER_MODULE_ORDERED'
        (kobj_class_t) &driver,                                         \
                        ^
/usr/src/sys/dev/usb/net/if_aue.c:269:17: note: 'aue_driver' declared here
static driver_t aue_driver = {
                ^
/usr/src/sys/dev/usb/net/if_aue.c:278:43: error: use of undeclared identifier 
'miibus_devclass'; did you mean 'aue_devclass'?
DRIVER_MODULE(miibus, aue, miibus_driver, miibus_devclass, 0, 0);
                                          ^~~~~~~~~~~~~~~
                                          aue_devclass
/usr/src/sys/sys/bus.h:805:45: note: expanded from macro 'DRIVER_MODULE'
        EARLY_DRIVER_MODULE(name, busname, driver, devclass, evh, arg,  \
                                                   ^
/usr/src/sys/sys/bus.h:796:53: note: expanded from macro 'EARLY_DRIVER_MODULE'
        EARLY_DRIVER_MODULE_ORDERED(name, busname, driver, devclass,    \
                                                           ^
/usr/src/sys/sys/bus.h:783:3: note: expanded from macro 
'EARLY_DRIVER_MODULE_ORDERED'
        &devclass,                                                      \
         ^
/usr/src/sys/dev/usb/net/if_aue.c:275:19: note: 'aue_devclass' declared here
static devclass_t aue_devclass;
                  ^
/usr/src/sys/dev/usb/net/if_aue.c:418:1: error: redefinition of 
'aue_miibus_readreg' as different kind of symbol
aue_miibus_readreg(device_t dev, int phy, int reg)
^
/usr/src/sys/dev/usb/net/if_aue.c:197:25: note: previous definition is here
static miibus_readreg_t aue_miibus_readreg;
                        ^
/usr/src/sys/dev/usb/net/if_aue.c:465:1: error: redefinition of 
'aue_miibus_writereg' as different kind of symbol
aue_miibus_writereg(device_t dev, int phy, int reg, int data)
^
/usr/src/sys/dev/usb/net/if_aue.c:198:26: note: previous definition is here
static miibus_writereg_t aue_miibus_writereg;
                         ^
/usr/src/sys/dev/usb/net/if_aue.c:498:1: error: redefinition of 
'aue_miibus_statchg' as different kind of symbol
aue_miibus_statchg(device_t dev)
^
/usr/src/sys/dev/usb/net/if_aue.c:199:25: note: previous definition is here
static miibus_statchg_t aue_miibus_statchg;
                        ^
/usr/src/sys/dev/usb/net/if_aue.c:509:21: error: incomplete definition of type 
'struct mii_data'
        if (IFM_SUBTYPE(mii->mii_media_active) == IFM_100_TX)
                        ~~~^
/usr/src/sys/net/if_media.h:394:13: note: expanded from macro 'IFM_SUBTYPE'
  (IFM_TYPE(x) == IFM_ETHER ? IFM_ETHER_SUBTYPE_GET(x) : ((x) & IFM_TMASK))
            ^
/usr/src/sys/net/if_media.h:392:24: note: expanded from macro 'IFM_TYPE'
#define IFM_TYPE(x)             ((x) & IFM_NMASK)
                                  ^
/usr/src/sys/dev/usb/net/usb_ethernet.h:52:8: note: forward declaration of 
'struct mii_data'
struct mii_data;
       ^
/usr/src/sys/dev/usb/net/if_aue.c:509:21: error: incomplete definition of type 
'struct mii_data'
        if (IFM_SUBTYPE(mii->mii_media_active) == IFM_100_TX)
                        ~~~^
/usr/src/sys/net/if_media.h:394:53: note: expanded from macro 'IFM_SUBTYPE'
  (IFM_TYPE(x) == IFM_ETHER ? IFM_ETHER_SUBTYPE_GET(x) : ((x) & IFM_TMASK))
                                                    ^
/usr/src/sys/net/if_media.h:141:36: note: expanded from macro 
'IFM_ETHER_SUBTYPE_GET'
#define IFM_ETHER_SUBTYPE_GET(x) ((x) & (IFM_TMASK|IFM_ETH_XTYPE))
                                   ^
/usr/src/sys/dev/usb/net/usb_ethernet.h:52:8: note: forward declaration of 
'struct mii_data'
struct mii_data;
       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

*** Error code 1

-- filemon acquired metadata --
# filemon version 5
# Target pid 86370
# Start 1566299382.367120
V 5
E 86426 /bin/sh
R 86426 /etc/libmap.conf
R 86426 /var/run/ld-elf.so.hints
R 86426 /lib/libedit.so.7
R 86426 /lib/libc.so.7
R 86426 /lib/libncursesw.so.8
R 86426 /usr/share/locale/en_US.UTF-8/LC_COLLATE
R 86426 /usr/share/locale/en_US.UTF-8/LC_CTYPE
R 86426 /usr/share/locale/en_US.UTF-8/LC_MONETARY
R 86426 /usr/share/locale/en_US.UTF-8/LC_NUMERIC
R 86426 /usr/share/locale/en_US.UTF-8/LC_TIME
R 86426 /usr/share/locale/en_US.UTF-8/LC_MESSAGES
F 86426 86431
E 86431 /usr/bin/cc
F 86431 86433
E 86433 /usr/bin/cc
R 86433 /usr/src/sys/dev/usb/net/if_aue.c
R 86433 if_aue-4ac95a81.o.tmp
W 86433 if_aue-4ac95a81.o.tmp
R 86433 /common/S4/obj/usr/src/amd64.amd64/sys/GENERIC/opt_global.h
R 86433 /usr/src/sys/sys/cdefs.h
R 86433 /usr/src/sys/sys/stdint.h
R 86433 /usr/src/sys/sys/_types.h
R 86433 ./machine/_types.h
R 86433 ./x86/_types.h
R 86433 ./machine/_limits.h
R 86433 ./x86/_limits.h
R 86433 ./machine/_stdint.h
R 86433 ./x86/_stdint.h
R 86433 /usr/src/sys/sys/_stdint.h
R 86433 /usr/src/sys/sys/stddef.h
R 86433 /usr/src/sys/sys/_null.h
R 86433 /usr/src/sys/sys/param.h
R 86433 /usr/src/sys/sys/types.h
R 86433 ./machine/endian.h
R 86433 ./x86/endian.h
R 86433 /usr/src/sys/sys/_pthreadtypes.h
R 86433 /usr/src/sys/sys/select.h
R 86433 /usr/src/sys/sys/_sigset.h
R 86433 /usr/src/sys/sys/_timeval.h
R 86433 /usr/src/sys/sys/timespec.h
R 86433 /usr/src/sys/sys/_timespec.h
R 86433 /usr/src/sys/sys/syslimits.h
R 86433 /usr/src/sys/sys/errno.h
R 86433 /usr/src/sys/sys/time.h
R 86433 /usr/src/sys/sys/priority.h
R 86433 ./machine/param.h
R 86433 ./machine/_align.h
R 86433 ./x86/_align.h
R 86433 /usr/src/sys/sys/queue.h
R 86433 /usr/src/sys/sys/systm.h
R 86433 ./machine/atomic.h
R 86433 /usr/src/sys/sys/atomic_common.h
R 86433 ./machine/cpufunc.h
R 86433 /usr/src/sys/sys/callout.h
R 86433 /usr/src/sys/sys/_callout.h
R 86433 /usr/src/sys/sys/pcpu.h
R 86433 /usr/src/sys/sys/_cpuset.h
R 86433 /usr/src/sys/sys/_bitset.h
R 86433 /usr/src/sys/sys/_lock.h
R 86433 /usr/src/sys/sys/_mutex.h
R 86433 /usr/src/sys/sys/_sx.h
R 86433 /usr/src/sys/sys/_rmlock.h
R 86433 /usr/src/sys/sys/resource.h
R 86433 ./machine/pcpu.h
R 86433 /usr/src/sys/sys/kpilite.h
R 86433 ./offset.inc
R 86433 /usr/src/sys/sys/libkern.h
R 86433 /usr/src/sys/sys/socket.h
R 86433 /usr/src/sys/sys/_iovec.h
R 86433 /usr/src/sys/sys/_sockaddr_storage.h
R 86433 /usr/src/sys/sys/kernel.h
R 86433 /usr/src/sys/sys/linker_set.h
R 86433 /usr/src/sys/sys/tslog.h
R 86433 /usr/src/sys/sys/bus.h
R 86433 ./machine/_bus.h
R 86433 /usr/src/sys/sys/_bus_dma.h
R 86433 /usr/src/sys/sys/ioccom.h
R 86433 /usr/src/sys/sys/_eventhandler.h
R 86433 /usr/src/sys/sys/kobj.h
R 86433 ./device_if.h
R 86433 ./bus_if.h
R 86433 /usr/src/sys/sys/module.h
R 86433 /usr/src/sys/sys/lock.h
R 86433 /usr/src/sys/sys/ktr_class.h
R 86433 /usr/src/sys/sys/mutex.h
R 86433 /usr/src/sys/sys/lock_profile.h
R 86433 /usr/src/sys/sys/lockstat.h
R 86433 /usr/src/sys/sys/sdt.h
R 86433 /usr/src/sys/sys/condvar.h
R 86433 /usr/src/sys/sys/sysctl.h
R 86433 /usr/src/sys/sys/sx.h
R 86433 /usr/src/sys/sys/unistd.h
R 86433 /usr/src/sys/sys/malloc.h
R 86433 /usr/src/sys/sys/priv.h
R 86433 /usr/src/sys/net/if.h
R 86433 /usr/src/sys/net/if_var.h
R 86433 /usr/src/sys/sys/mbuf.h
R 86433 /usr/src/sys/sys/refcount.h
R 86433 /usr/src/sys/vm/uma.h
R 86433 /usr/src/sys/sys/buf_ring.h
R 86433 ./machine/cpu.h
R 86433 ./machine/psl.h
R 86433 ./x86/psl.h
R 86433 ./machine/frame.h
R 86433 ./x86/frame.h
R 86433 ./machine/segments.h
R 86433 ./x86/segments.h
R 86433 /usr/src/sys/net/vnet.h
R 86433 /usr/src/sys/sys/proc.h
R 86433 /usr/src/sys/sys/event.h
R 86433 /usr/src/sys/sys/osd.h
R 86433 /usr/src/sys/sys/rtprio.h
R 86433 /usr/src/sys/sys/runq.h
R 86433 ./machine/runq.h
R 86433 /usr/src/sys/sys/sigio.h
R 86433 /usr/src/sys/sys/signal.h
R 86433 ./machine/signal.h
R 86433 ./x86/signal.h
R 86433 /usr/src/sys/sys/signalvar.h
R 86433 /usr/src/sys/sys/ucontext.h
R 86433 ./machine/ucontext.h
R 86433 ./x86/ucontext.h
R 86433 /usr/src/sys/sys/_ucontext.h
R 86433 /usr/src/sys/sys/ucred.h
R 86433 /usr/src/sys/bsm/audit.h
R 86433 /usr/src/sys/sys/_domainset.h
R 86433 ./machine/proc.h
R 86433 /usr/src/sys/sys/rwlock.h
R 86433 /usr/src/sys/sys/_rwlock.h
R 86433 /usr/src/sys/sys/eventhandler.h
R 86433 /usr/src/sys/sys/ktr.h
R 86433 /usr/src/sys/sys/ck.h
R 86433 /usr/src/sys/contrib/ck/include/ck_queue.h
R 86433 /usr/src/sys/contrib/ck/include/ck_pr.h
R 86433 /usr/src/sys/contrib/ck/include/ck_cc.h
R 86433 /usr/src/sys/contrib/ck/include/gcc/ck_cc.h
R 86433 /usr/src/sys/contrib/ck/include/ck_md.h
R 86433 /usr/src/sys/contrib/ck/include/ck_limits.h
R 86433 /usr/src/sys/sys/limits.h
R 86433 /usr/src/sys/contrib/ck/include/ck_stdint.h
R 86433 /usr/src/sys/contrib/ck/include/ck_stdbool.h
R 86433 /usr/src/sys/contrib/ck/include/gcc/x86_64/ck_pr.h
R 86433 /usr/src/sys/contrib/ck/include/gcc/x86_64/ck_f_pr.h
R 86433 /usr/src/sys/contrib/ck/include/gcc/ck_pr.h
R 86433 /usr/src/sys/contrib/ck/include/ck_epoch.h
R 86433 /usr/src/sys/contrib/ck/include/ck_stack.h
R 86433 /usr/src/sys/contrib/ck/include/ck_stddef.h
R 86433 /usr/src/sys/sys/counter.h
R 86433 ./machine/counter.h
R 86433 /usr/src/sys/sys/epoch.h
R 86433 /usr/src/sys/sys/_task.h
R 86433 /usr/src/sys/net/altq/if_altq.h
R 86433 /usr/src/sys/net/ifq.h
R 86433 /usr/src/sys/dev/usb/usb.h
R 86433 ./opt_usb.h
R 86433 /usr/src/sys/dev/usb/usb_endian.h
R 86433 /usr/src/sys/sys/endian.h
R 86433 /usr/src/sys/dev/usb/usb_freebsd.h
R 86433 /usr/src/sys/dev/usb/usbdi.h
R 86433 /usr/src/sys/dev/usb/usbdi_util.h
R 86433 ./usbdevs.h
R 86433 /usr/src/sys/dev/usb/usb_debug.h
R 86433 /usr/src/sys/dev/usb/usb_process.h
R 86433 /usr/src/sys/sys/interrupt.h
R 86433 /usr/src/sys/dev/usb/net/usb_ethernet.h
R 86433 ./opt_inet.h
R 86433 /usr/src/sys/sys/sockio.h
R 86433 /usr/src/sys/net/if_arp.h
R 86433 /usr/src/sys/net/if_dl.h
R 86433 /usr/src/sys/net/if_media.h
R 86433 /usr/src/sys/net/if_types.h
R 86433 /usr/src/sys/net/bpf.h
R 86433 /usr/src/sys/net/dlt.h
R 86433 /usr/src/sys/net/ethernet.h
R 86433 /usr/src/sys/dev/usb/net/if_auereg.h
D 86433 if_aue-4ac95a81.o.tmp
X 86433 1 0
D 86431 if_aue.o
X 86431 1 0
X 86426 1 0
# Stop 1566299383.194120
# Bye bye

Attachment: signature.asc
Description: PGP signature

Reply via email to