The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header.
To mitigate this problem, the original message has been wrapped automatically by the mailing list software.
--- Begin Message ---Op 17 mei 2021, om 16:49 heeft Rafał Miłecki <zaj...@gmail.com> het volgende geschreven: > > From: Rafał Miłecki <ra...@milecki.pl> > > Interfaces need to be assigned to devices. For that purpose a "device" > option should be more accurate than "ifname" one. > > For backward compatibility add a temporary config translation. > > Config example: > > config device > option name 'lan' > option type 'bridge' > list ports 'lan1' > list ports 'lan2' > > config interface 'home' > option device 'lan' > option proto 'static' A bit off-topic: the disparency between config section names and an option named name is not always clear. > > Signed-off-by: Rafał Miłecki <ra...@milecki.pl> > --- > config.c | 21 +++++++++++++++++++++ > interface.c | 22 +++++++++++----------- > interface.h | 2 +- > 3 files changed, 33 insertions(+), 12 deletions(-) > > diff --git a/config.c b/config.c > index 1f4560f..b461b20 100644 > --- a/config.c > +++ b/config.c > @@ -148,6 +148,25 @@ config_parse_bridge_interface(struct uci_section *s, > struct device_type *devtype > return 0; > } > > +/** > + * config_fixup_interface_device - translate deprecated "ifname" option > + * > + * Initially "interface" sections were using "ifname" for specifying device. > + * That has been replaced by the "device" option. For backward compatibility > + * translate it. > + */ > +static void config_fixup_interface_device(struct uci_section *s) > +{ > + const char *ifname; > + > + if (uci_lookup_option(uci_ctx, s, "device")) > + return; > + > + ifname = uci_lookup_option_string(uci_ctx, s, "ifname"); > + if (ifname) > + config_fixup_bridge_var(s, "device", ifname); > +} > + > static void > config_parse_interface(struct uci_section *s, bool alias) > { > @@ -161,6 +180,8 @@ config_parse_interface(struct uci_section *s, bool alias) > if (disabled && !strcmp(disabled, "1")) > return; > > + config_fixup_interface_device(s); > + > blob_buf_init(&b, 0); > > if (!alias) > diff --git a/interface.c b/interface.c > index ccae915..95f3391 100644 > --- a/interface.c > +++ b/interface.c > @@ -30,7 +30,7 @@ struct vlist_tree interfaces; > static LIST_HEAD(iface_all_users); > > enum { > - IFACE_ATTR_IFNAME, > + IFACE_ATTR_DEVICE, > IFACE_ATTR_PROTO, > IFACE_ATTR_AUTO, > IFACE_ATTR_JAIL, > @@ -55,8 +55,8 @@ enum { > }; > > static const struct blobmsg_policy iface_attrs[IFACE_ATTR_MAX] = { > + [IFACE_ATTR_DEVICE] = { .name = "device", .type = BLOBMSG_TYPE_STRING }, > [IFACE_ATTR_PROTO] = { .name = "proto", .type = BLOBMSG_TYPE_STRING }, > - [IFACE_ATTR_IFNAME] = { .name = "ifname", .type = BLOBMSG_TYPE_STRING }, > [IFACE_ATTR_AUTO] = { .name = "auto", .type = BLOBMSG_TYPE_BOOL }, > [IFACE_ATTR_JAIL] = { .name = "jail", .type = BLOBMSG_TYPE_STRING }, > [IFACE_ATTR_JAIL_IFNAME] = { .name = "jail_ifname", .type = > BLOBMSG_TYPE_STRING }, > @@ -629,9 +629,9 @@ interface_claim_device(struct interface *iface) > parent = vlist_find(&interfaces, iface->parent_ifname, parent, > node); > iface->parent_iface.cb = interface_alias_cb; > interface_add_user(&iface->parent_iface, parent); > - } else if (iface->ifname && > + } else if (iface->device && > !(iface->proto_handler->flags & PROTO_FLAG_NODEV)) { > - dev = device_get(iface->ifname, true); > + dev = device_get(iface->device, true); > interface_set_device_config(iface, dev); > } else { > dev = iface->ext_dev.dev; > @@ -927,8 +927,8 @@ static bool __interface_add(struct interface *iface, > struct blob_attr *config, b > if (!iface->parent_ifname) > return false; > } else { > - if ((cur = tb[IFACE_ATTR_IFNAME])) > - iface->ifname = blobmsg_data(cur); > + if ((cur = tb[IFACE_ATTR_DEVICE])) > + iface->device = blobmsg_data(cur); > } > > if (iface->dynamic) { > @@ -1204,7 +1204,7 @@ interface_start_jail(const char *jail, const pid_t > netns_pid) > * list, so we can mess with it :) > */ > if (iface->jail_ifname) > - iface->ifname = iface->jail_ifname; > + iface->device = iface->jail_ifname; > > interface_do_reload(iface); > interface_set_up(iface); > @@ -1245,9 +1245,9 @@ interface_stop_jail(const char *jail, const pid_t > netns_pid) > if (!iface->jail || strcmp(iface->jail, jail)) > continue; > > - orig_ifname = iface->ifname; > + orig_ifname = iface->device; > if (iface->jail_ifname) > - iface->ifname = iface->jail_ifname; > + iface->device = iface->jail_ifname; > > interface_do_reload(iface); > interface_set_down(iface); > @@ -1340,7 +1340,7 @@ interface_change_config(struct interface *if_old, > struct interface *if_new) > if (!reload && interface_device_config_changed(if_old, if_new)) > reload = true; > > - if (FIELD_CHANGED_STR(ifname) || > + if (FIELD_CHANGED_STR(device) || > if_old->proto_handler != if_new->proto_handler) > reload = true; > > @@ -1379,7 +1379,7 @@ interface_change_config(struct interface *if_old, > struct interface *if_new) > > if_old->jail_ifname = if_new->jail_ifname; > > - if_old->ifname = if_new->ifname; > + if_old->device = if_new->device; > if_old->parent_ifname = if_new->parent_ifname; > if_old->dynamic = if_new->dynamic; > if_old->proto_handler = if_new->proto_handler; > diff --git a/interface.h b/interface.h > index 9c136b6..1767bf1 100644 > --- a/interface.h > +++ b/interface.h > @@ -107,7 +107,7 @@ struct interface { > enum interface_event hotplug_ev; > > const char *name; > - const char *ifname; > + const char *device; > char *jail; > char *jail_ifname; > int netns_fd; > -- > 2.26.2 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
--- End Message ---
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel