openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2022
- 1 participants
- 2039 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gtk4 for openSUSE:Factory checked in at 2022-06-01 17:34:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gtk4 (Old)
and /work/SRC/openSUSE:Factory/.gtk4.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtk4"
Wed Jun 1 17:34:14 2022 rev:43 rq:980067 version:4.6.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/gtk4/gtk4.changes 2022-05-17 17:23:59.627147044 +0200
+++ /work/SRC/openSUSE:Factory/.gtk4.new.1548/gtk4.changes 2022-06-01 17:34:27.902726837 +0200
@@ -1,0 +2,11 @@
+Tue May 31 07:01:15 UTC 2022 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Update to version 4.6.5:
+ + GtkFileChooser: Fix pasting text into the name field.
+ + GtkText: Remove an assertion that is sometimes hit.
+ + Wayland: Ensure that our cursor surfaces don't violate protocol
+ constraints.
+ + Accssibility: Fix a problem in the accessibility tree.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gtk-4.6.4.tar.xz
New:
----
gtk-4.6.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gtk4.spec ++++++
--- /var/tmp/diff_new_pack.pjUsgy/_old 2022-06-01 17:34:28.546727598 +0200
+++ /var/tmp/diff_new_pack.pjUsgy/_new 2022-06-01 17:34:28.554727607 +0200
@@ -22,7 +22,7 @@
%define _name gtk
Name: gtk4
-Version: 4.6.4
+Version: 4.6.5
Release: 0
Summary: The GTK+ toolkit library (version 4)
License: LGPL-2.1-or-later
++++++ gtk-4.6.4.tar.xz -> gtk-4.6.5.tar.xz ++++++
/work/SRC/openSUSE:Factory/gtk4/gtk-4.6.4.tar.xz /work/SRC/openSUSE:Factory/.gtk4.new.1548/gtk-4.6.5.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package iw for openSUSE:Factory checked in at 2022-06-01 17:34:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iw (Old)
and /work/SRC/openSUSE:Factory/.iw.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iw"
Wed Jun 1 17:34:13 2022 rev:37 rq:980062 version:5.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/iw/iw.changes 2021-11-13 22:48:45.617260744 +0100
+++ /work/SRC/openSUSE:Factory/.iw.new.1548/iw.changes 2022-06-01 17:34:26.742725466 +0200
@@ -1,0 +2,14 @@
+Tue May 31 08:34:22 UTC 2022 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Update to version 5.19:
+ * bump version to 5.19
+ * info: refactor extended features
+ * info: add missing extended features
+ * update nl80211.h
+ * iw: handle VHT extended NSS
+ * iw: fix 'upto' -> 'up to'
+ * iw: fix double tab in mesh path header
+ * station: print EHT rate information
+ * iw: Print local EHT capabilities
+
+-------------------------------------------------------------------
Old:
----
iw-5.16.obscpio
New:
----
iw-5.19.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iw.spec ++++++
--- /var/tmp/diff_new_pack.zJMK7o/_old 2022-06-01 17:34:27.314726142 +0200
+++ /var/tmp/diff_new_pack.zJMK7o/_new 2022-06-01 17:34:27.318726147 +0200
@@ -1,7 +1,7 @@
#
# spec file for package iw
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: iw
-Version: 5.16
+Version: 5.19
Release: 0
Summary: Configuration utility for nl80211 based wireless drivers
License: ISC
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.zJMK7o/_old 2022-06-01 17:34:27.366726204 +0200
+++ /var/tmp/diff_new_pack.zJMK7o/_new 2022-06-01 17:34:27.370726208 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git</param>
- <param name="changesrevision">d034d73ad655ade6615f1aa5593cfddee0db10a9</param></service></servicedata>
+ <param name="changesrevision">79f20cbf1a333a23e3b041d502277d240aedb840</param></service></servicedata>
(No newline at EOF)
++++++ iw-5.16.obscpio -> iw-5.19.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/event.c new/iw-5.19/event.c
--- old/iw-5.16/event.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/event.c 2022-05-27 12:23:45.000000000 +0200
@@ -893,6 +893,21 @@
printf("\n");
}
+static void parse_assoc_comeback(struct nlattr **attrs, int command)
+{
+ __u32 timeout = 0;
+ char macbuf[6 * 3] = "<unset>";
+
+ if (attrs[NL80211_ATTR_MAC])
+ mac_addr_n2a(macbuf, nla_data(attrs[NL80211_ATTR_MAC]));
+
+ if (attrs[NL80211_ATTR_TIMEOUT])
+ timeout = nla_get_u32(attrs[NL80211_ATTR_TIMEOUT]);
+
+ printf("assoc comeback bssid %s timeout %d\n",
+ macbuf, timeout);
+}
+
static int print_event(struct nl_msg *msg, void *arg)
{
struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
@@ -1233,6 +1248,12 @@
case NL80211_RADAR_NOP_FINISHED:
printf("%d MHz: NOP finished\n", freq);
break;
+ case NL80211_RADAR_PRE_CAC_EXPIRED:
+ printf("%d MHz: PRE-CAC expired\n", freq);
+ break;
+ case NL80211_RADAR_CAC_STARTED:
+ printf("%d MHz: CAC started\n", freq);
+ break;
default:
printf("%d MHz: unknown radar event\n", freq);
}
@@ -1271,6 +1292,9 @@
case NL80211_CMD_CH_SWITCH_NOTIFY:
parse_ch_switch_notify(tb, gnlh->cmd);
break;
+ case NL80211_CMD_ASSOC_COMEBACK: /* 147 */
+ parse_assoc_comeback(tb, gnlh->cmd);
+ break;
default:
printf("unknown event %d (%s)\n",
gnlh->cmd, command_name(gnlh->cmd));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/info.c new/iw-5.19/info.c
--- old/iw-5.16/info.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/info.c 2022-05-27 12:23:45.000000000 +0200
@@ -69,15 +69,105 @@
return (ft_byte & BIT(ftidx % 8)) != 0;
}
-static void _ext_feat_print(const struct nlattr *tb,
- enum nl80211_ext_feature_index idx,
- const char *feature_name, const char *feature_desc)
+static void ext_feat_print(enum nl80211_ext_feature_index idx)
{
- if (ext_feature_isset(nla_data(tb), nla_len(tb),idx))
- printf("\t\t* [ %s ]: %s\n", feature_name, feature_desc);
+#define ext_feat_case(name, desc) \
+ case NL80211_EXT_FEATURE_##name: \
+ printf("\t\t* [ %s ]: %s\n", #name, desc); \
+ break
+
+ switch (idx) {
+ case NUM_NL80211_EXT_FEATURES: /* cannot happen */ break;
+ ext_feat_case(VHT_IBSS, "VHT-IBSS");
+ ext_feat_case(RRM, "RRM");
+ ext_feat_case(MU_MIMO_AIR_SNIFFER, "MU-MIMO sniffer");
+ ext_feat_case(SCAN_START_TIME, "scan start timestamp");
+ ext_feat_case(BSS_PARENT_TSF,
+ "BSS last beacon/probe TSF");
+ ext_feat_case(SET_SCAN_DWELL, "scan dwell setting");
+ ext_feat_case(BEACON_RATE_LEGACY,
+ "legacy beacon rate setting");
+ ext_feat_case(BEACON_RATE_HT, "HT beacon rate setting");
+ ext_feat_case(BEACON_RATE_VHT, "VHT beacon rate setting");
+ ext_feat_case(FILS_STA,
+ "STA FILS (Fast Initial Link Setup)");
+ ext_feat_case(MGMT_TX_RANDOM_TA,
+ "randomized TA while not associated");
+ ext_feat_case(MGMT_TX_RANDOM_TA_CONNECTED,
+ "randomized TA while associated");
+ ext_feat_case(SCHED_SCAN_RELATIVE_RSSI,
+ "sched_scan for BSS with better RSSI report");
+ ext_feat_case(CQM_RSSI_LIST,
+ "multiple CQM_RSSI_THOLD records");
+ ext_feat_case(FILS_SK_OFFLOAD,
+ "FILS shared key authentication offload");
+ ext_feat_case(4WAY_HANDSHAKE_STA_PSK,
+ "4-way handshake with PSK in station mode");
+ ext_feat_case(4WAY_HANDSHAKE_STA_1X,
+ "4-way handshake with 802.1X in station mode");
+ ext_feat_case(FILS_MAX_CHANNEL_TIME,
+ "FILS max channel attribute override with dwell time");
+ ext_feat_case(ACCEPT_BCAST_PROBE_RESP,
+ "accepts broadcast probe response");
+ ext_feat_case(OCE_PROBE_REQ_HIGH_TX_RATE,
+ "probe request TX at high rate (at least 5.5Mbps)");
+ ext_feat_case(OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
+ "probe request tx deferral and suppression");
+ ext_feat_case(MFP_OPTIONAL,
+ "MFP_OPTIONAL value in ATTR_USE_MFP");
+ ext_feat_case(LOW_SPAN_SCAN, "low span scan");
+ ext_feat_case(LOW_POWER_SCAN, "low power scan");
+ ext_feat_case(HIGH_ACCURACY_SCAN, "high accuracy scan");
+ ext_feat_case(DFS_OFFLOAD, "DFS offload");
+ ext_feat_case(CONTROL_PORT_OVER_NL80211,
+ "control port over nl80211");
+ ext_feat_case(ACK_SIGNAL_SUPPORT,
+ "ack signal level support");
+ ext_feat_case(TXQS, "FQ-CoDel-enabled intermediate TXQs");
+ ext_feat_case(SCAN_RANDOM_SN,
+ "use random sequence numbers in scans");
+ ext_feat_case(SCAN_MIN_PREQ_CONTENT,
+ "use probe request with only rate IEs in scans");
+ ext_feat_case(CAN_REPLACE_PTK0,
+ "can safely replace PTK 0 when rekeying");
+ ext_feat_case(ENABLE_FTM_RESPONDER,
+ "enable FTM (Fine Time Measurement) responder");
+ ext_feat_case(AIRTIME_FAIRNESS,
+ "airtime fairness scheduling");
+ ext_feat_case(AP_PMKSA_CACHING,
+ "PMKSA caching supported in AP mode");
+ ext_feat_case(SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
+ "band specific RSSI thresholds for scheduled scan");
+ ext_feat_case(EXT_KEY_ID, "Extended Key ID support");
+ ext_feat_case(STA_TX_PWR, "TX power control per station");
+ ext_feat_case(SAE_OFFLOAD, "SAE offload support");
+ ext_feat_case(VLAN_OFFLOAD, "VLAN offload support");
+ ext_feat_case(AQL,
+ "Airtime Queue Limits (AQL)");
+ ext_feat_case(BEACON_PROTECTION, "beacon protection support");
+ ext_feat_case(CONTROL_PORT_NO_PREAUTH, "disable pre-auth over nl80211 control port support");
+ ext_feat_case(PROTECTED_TWT, "protected Target Wake Time (TWT) support");
+ ext_feat_case(DEL_IBSS_STA, "deletion of IBSS station support");
+ ext_feat_case(MULTICAST_REGISTRATIONS, "mgmt frame registration for multicast");
+ ext_feat_case(BEACON_PROTECTION_CLIENT, "beacon prot. for clients support");
+ ext_feat_case(SCAN_FREQ_KHZ, "scan on kHz frequency support");
+ ext_feat_case(CONTROL_PORT_OVER_NL80211_TX_STATUS, "tx status for nl80211 control port support");
+ ext_feat_case(OPERATING_CHANNEL_VALIDATION, "Operating Channel Validation (OCV) support");
+ ext_feat_case(4WAY_HANDSHAKE_AP_PSK, "AP mode PSK offload support");
+ ext_feat_case(SAE_OFFLOAD_AP, "AP mode SAE authentication offload support");
+ ext_feat_case(FILS_DISCOVERY, "FILS discovery frame transmission support");
+ ext_feat_case(UNSOL_BCAST_PROBE_RESP,
+ "unsolicated broadcast probe response transmission support");
+ ext_feat_case(BEACON_RATE_HE, "HE beacon rate support (AP/mesh)");
+ ext_feat_case(SECURE_LTF, "secure LTF measurement protocol support");
+ ext_feat_case(SECURE_RTT, "secure RTT measurement protocol support");
+ ext_feat_case(PROT_RANGE_NEGO_AND_MEASURE,
+ "support for MFP in range measurement negotiation/procedure");
+ ext_feat_case(BSS_COLOR, "BSS coloring support");
+ ext_feat_case(FILS_CRYPTO_OFFLOAD, "FILS crypto offload");
+ ext_feat_case(RADAR_BACKGROUND, "Radar background support");
+ }
}
-#define ext_feat_print(tb, name, desc) \
- _ext_feat_print(tb, NL80211_EXT_FEATURE_##name, #name, desc)
static int print_phy_handler(struct nl_msg *msg, void *arg)
{
@@ -170,8 +260,12 @@
struct nlattr *nl_iftype;
int rem_band;
- nla_for_each_nested(nl_iftype, tb_band[NL80211_BAND_ATTR_IFTYPE_DATA], rem_band)
+ nla_for_each_nested(nl_iftype,
+ tb_band[NL80211_BAND_ATTR_IFTYPE_DATA],
+ rem_band) {
print_he_info(nl_iftype);
+ print_eht_info(nl_iftype, last_band);
+ }
}
if (tb_band[NL80211_BAND_ATTR_FREQS]) {
if (!band_had_freq) {
@@ -621,87 +715,15 @@
if (tb_msg[NL80211_ATTR_EXT_FEATURES]) {
struct nlattr *tb = tb_msg[NL80211_ATTR_EXT_FEATURES];
+ enum nl80211_ext_feature_index feat;
printf("\tSupported extended features:\n");
- ext_feat_print(tb, VHT_IBSS, "VHT-IBSS");
- ext_feat_print(tb, RRM, "RRM");
- ext_feat_print(tb, MU_MIMO_AIR_SNIFFER, "MU-MIMO sniffer");
- ext_feat_print(tb, SCAN_START_TIME, "scan start timestamp");
- ext_feat_print(tb, BSS_PARENT_TSF,
- "BSS last beacon/probe TSF");
- ext_feat_print(tb, SET_SCAN_DWELL, "scan dwell setting");
- ext_feat_print(tb, BEACON_RATE_LEGACY,
- "legacy beacon rate setting");
- ext_feat_print(tb, BEACON_RATE_HT, "HT beacon rate setting");
- ext_feat_print(tb, BEACON_RATE_VHT, "VHT beacon rate setting");
- ext_feat_print(tb, FILS_STA,
- "STA FILS (Fast Initial Link Setup)");
- ext_feat_print(tb, MGMT_TX_RANDOM_TA,
- "randomized TA while not associated");
- ext_feat_print(tb, MGMT_TX_RANDOM_TA_CONNECTED,
- "randomized TA while associated");
- ext_feat_print(tb, SCHED_SCAN_RELATIVE_RSSI,
- "sched_scan for BSS with better RSSI report");
- ext_feat_print(tb, CQM_RSSI_LIST,
- "multiple CQM_RSSI_THOLD records");
- ext_feat_print(tb, FILS_SK_OFFLOAD,
- "FILS shared key authentication offload");
- ext_feat_print(tb, 4WAY_HANDSHAKE_STA_PSK,
- "4-way handshake with PSK in station mode");
- ext_feat_print(tb, 4WAY_HANDSHAKE_STA_1X,
- "4-way handshake with 802.1X in station mode");
- ext_feat_print(tb, FILS_MAX_CHANNEL_TIME,
- "FILS max channel attribute override with dwell time");
- ext_feat_print(tb, ACCEPT_BCAST_PROBE_RESP,
- "accepts broadcast probe response");
- ext_feat_print(tb, OCE_PROBE_REQ_HIGH_TX_RATE,
- "probe request TX at high rate (at least 5.5Mbps)");
- ext_feat_print(tb, OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
- "probe request tx deferral and suppression");
- ext_feat_print(tb, MFP_OPTIONAL,
- "MFP_OPTIONAL value in ATTR_USE_MFP");
- ext_feat_print(tb, LOW_SPAN_SCAN, "low span scan");
- ext_feat_print(tb, LOW_POWER_SCAN, "low power scan");
- ext_feat_print(tb, HIGH_ACCURACY_SCAN, "high accuracy scan");
- ext_feat_print(tb, DFS_OFFLOAD, "DFS offload");
- ext_feat_print(tb, CONTROL_PORT_OVER_NL80211,
- "control port over nl80211");
- ext_feat_print(tb, ACK_SIGNAL_SUPPORT,
- "ack signal level support");
- ext_feat_print(tb, TXQS, "FQ-CoDel-enabled intermediate TXQs");
- ext_feat_print(tb, AIRTIME_FAIRNESS,
- "airtime fairness scheduling");
- ext_feat_print(tb, AQL,
- "Airtime Queue Limits (AQL)");
- ext_feat_print(tb, SCAN_RANDOM_SN,
- "use random sequence numbers in scans");
- ext_feat_print(tb, SCAN_MIN_PREQ_CONTENT,
- "use probe request with only rate IEs in scans");
- ext_feat_print(tb, CAN_REPLACE_PTK0,
- "can safely replace PTK 0 when rekeying");
- ext_feat_print(tb, ENABLE_FTM_RESPONDER,
- "enable FTM (Fine Time Measurement) responder");
- ext_feat_print(tb, AP_PMKSA_CACHING,
- "PMKSA caching supported in AP mode");
- ext_feat_print(tb, SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
- "band specific RSSI thresholds for scheduled scan");
- ext_feat_print(tb, EXT_KEY_ID, "Extended Key ID support");
- ext_feat_print(tb, STA_TX_PWR, "TX power control per station");
- ext_feat_print(tb, SAE_OFFLOAD, "SAE offload support");
- ext_feat_print(tb, VLAN_OFFLOAD, "VLAN offload support");
- ext_feat_print(tb, BEACON_PROTECTION, "beacon protection support");
- ext_feat_print(tb, CONTROL_PORT_NO_PREAUTH, "disable pre-auth over nl80211 control port support");
- ext_feat_print(tb, PROTECTED_TWT, "protected Target Wake Time (TWT) support");
- ext_feat_print(tb, DEL_IBSS_STA, "deletion of IBSS station support");
- ext_feat_print(tb, MULTICAST_REGISTRATIONS, "mgmt frame registration for multicast");
- ext_feat_print(tb, BEACON_PROTECTION_CLIENT, "beacon prot. for clients support");
- ext_feat_print(tb, SCAN_FREQ_KHZ, "scan on kHz frequency support");
- ext_feat_print(tb, CONTROL_PORT_OVER_NL80211_TX_STATUS, "tx status for nl80211 control port support");
- ext_feat_print(tb, OPERATING_CHANNEL_VALIDATION, "Operating Channel Validation (OCV) support");
- ext_feat_print(tb, 4WAY_HANDSHAKE_AP_PSK, "AP mode PSK offload support");
- ext_feat_print(tb, BSS_COLOR, "BSS coloring support");
- ext_feat_print(tb, FILS_CRYPTO_OFFLOAD, "FILS crypto offload");
+ for (feat = 0; feat < NUM_NL80211_EXT_FEATURES; feat++) {
+ if (!ext_feature_isset(nla_data(tb), nla_len(tb), feat))
+ continue;
+ ext_feat_print(feat);
+ }
}
if (tb_msg[NL80211_ATTR_COALESCE_RULE]) {
@@ -712,7 +734,7 @@
rule = nla_data(tb_msg[NL80211_ATTR_COALESCE_RULE]);
pat = &rule->pat;
printf("\t\t * Maximum %u coalesce rules supported\n"
- "\t\t * Each rule contains upto %u patterns of %u-%u bytes,\n"
+ "\t\t * Each rule contains up to %u patterns of %u-%u bytes,\n"
"\t\t maximum packet offset %u bytes\n"
"\t\t * Maximum supported coalescing delay %u msecs\n",
rule->max_rules, pat->max_patterns, pat->min_pattern_len,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/interface.c new/iw-5.19/interface.c
--- old/iw-5.16/interface.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/interface.c 2022-05-27 12:23:45.000000000 +0200
@@ -362,6 +362,8 @@
return "5 MHz";
case NL80211_CHAN_WIDTH_10:
return "10 MHz";
+ case NL80211_CHAN_WIDTH_320:
+ return "320 MHz";
default:
return "unknown";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/iw.h new/iw-5.19/iw.h
--- old/iw-5.16/iw.h 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/iw.h 2022-05-27 12:23:45.000000000 +0200
@@ -220,6 +220,7 @@
void print_vht_info(__u32 capa, const __u8 *mcs);
void print_he_capability(const uint8_t *ie, int len);
void print_he_info(struct nlattr *nl_iftype);
+void print_eht_info(struct nlattr *nl_iftype, int band);
char *channel_width_name(enum nl80211_chan_width width);
const char *iftype_name(enum nl80211_iftype iftype);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/mpath.c new/iw-5.19/mpath.c
--- old/iw-5.16/mpath.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/mpath.c 2022-05-27 12:23:45.000000000 +0200
@@ -226,7 +226,7 @@
enum id_input id)
{
printf("DEST ADDR NEXT HOP IFACE\tSN\tMETRIC\tQLEN\t"
- "EXPTIME\t\tDTIM\tDRET\tFLAGS\tHOP_COUNT\tPATH_CHANGE\n");
+ "EXPTIME\tDTIM\tDRET\tFLAGS\tHOP_COUNT\tPATH_CHANGE\n");
register_handler(print_mpath_handler, NULL);
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/nl80211.h new/iw-5.19/nl80211.h
--- old/iw-5.16/nl80211.h 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/nl80211.h 2022-05-27 12:23:45.000000000 +0200
@@ -11,7 +11,7 @@
* Copyright 2008 Jouni Malinen <jouni.malinen(a)atheros.com>
* Copyright 2008 Colin McCabe <colin(a)cozybit.com>
* Copyright 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2021 Intel Corporation
+ * Copyright (C) 2018-2022 Intel Corporation
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -1232,6 +1232,11 @@
* &NL80211_ATTR_FILS_NONCES - for FILS Nonces
* (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
*
+ * @NL80211_CMD_ASSOC_COMEBACK: notification about an association
+ * temporal rejection with comeback. The event includes %NL80211_ATTR_MAC
+ * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to
+ * specify the timeout value.
+ *
* @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use
*/
@@ -1474,6 +1479,8 @@
NL80211_CMD_SET_FILS_AAD,
+ NL80211_CMD_ASSOC_COMEBACK,
+
/* add new commands above here */
/* used to define NL80211_CMD_MAX below */
@@ -2470,7 +2477,9 @@
* space supports external authentication. This attribute shall be used
* with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
* may offload authentication processing to user space if this capability
- * is indicated in the respective requests from the user space.
+ * is indicated in the respective requests from the user space. (This flag
+ * attribute deprecated for %NL80211_CMD_START_AP, use
+ * %NL80211_ATTR_AP_SETTINGS_FLAGS)
*
* @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
* u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
@@ -2639,6 +2648,21 @@
* Mandatory parameter for the transmitting interface to enable MBSSID.
* Optional for the non-transmitting interfaces.
*
+ * @NL80211_ATTR_RADAR_BACKGROUND: Configure dedicated offchannel chain
+ * available for radar/CAC detection on some hw. This chain can't be used
+ * to transmit or receive frames and it is bounded to a running wdev.
+ * Background radar/CAC detection allows to avoid the CAC downtime
+ * switching on a different channel during CAC detection on the selected
+ * radar channel.
+ *
+ * @NL80211_ATTR_AP_SETTINGS_FLAGS: u32 attribute contains ap settings flags,
+ * enumerated in &enum nl80211_ap_settings_flags. This attribute shall be
+ * used with %NL80211_CMD_START_AP request.
+ *
+ * @NL80211_ATTR_EHT_CAPABILITY: EHT Capability information element (from
+ * association request when used with NL80211_CMD_NEW_STATION). Can be set
+ * only if %NL80211_STA_FLAG_WME is set.
+ *
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3145,6 +3169,14 @@
NL80211_ATTR_MBSSID_CONFIG,
NL80211_ATTR_MBSSID_ELEMS,
+ NL80211_ATTR_RADAR_BACKGROUND,
+
+ NL80211_ATTR_AP_SETTINGS_FLAGS,
+
+ NL80211_ATTR_EHT_CAPABILITY,
+
+ NL80211_ATTR_DISABLE_EHT,
+
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
@@ -3200,6 +3232,8 @@
#define NL80211_HE_MAX_CAPABILITY_LEN 54
#define NL80211_MAX_NR_CIPHER_SUITES 5
#define NL80211_MAX_NR_AKM_SUITES 2
+#define NL80211_EHT_MIN_CAPABILITY_LEN 13
+#define NL80211_EHT_MAX_CAPABILITY_LEN 51
#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
@@ -3227,7 +3261,7 @@
* and therefore can't be created in the normal ways, use the
* %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
* commands to create and destroy one
- * @NL80211_IF_TYPE_OCB: Outside Context of a BSS
+ * @NL80211_IFTYPE_OCB: Outside Context of a BSS
* This mode corresponds to the MIB variable dot11OCBActivated=true
* @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
@@ -3369,6 +3403,56 @@
};
/**
+ * enum nl80211_eht_gi - EHT guard interval
+ * @NL80211_RATE_INFO_EHT_GI_0_8: 0.8 usec
+ * @NL80211_RATE_INFO_EHT_GI_1_6: 1.6 usec
+ * @NL80211_RATE_INFO_EHT_GI_3_2: 3.2 usec
+ */
+enum nl80211_eht_gi {
+ NL80211_RATE_INFO_EHT_GI_0_8,
+ NL80211_RATE_INFO_EHT_GI_1_6,
+ NL80211_RATE_INFO_EHT_GI_3_2,
+};
+
+/**
+ * enum nl80211_eht_ru_alloc - EHT RU allocation values
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_52: 52-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_52P26: 52+26-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_106: 106-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_106P26: 106+26 tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_242: 242-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_484: 484-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_484P242: 484+242 tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_996: 996-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484: 996+484 tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242: 996+484+242 tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996: 2x996-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484: 2x996+484 tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996: 3x996-tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484: 3x996+484 tone RU allocation
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC_4x996: 4x996-tone RU allocation
+ */
+enum nl80211_eht_ru_alloc {
+ NL80211_RATE_INFO_EHT_RU_ALLOC_26,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_52,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_52P26,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_106,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_106P26,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_242,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_484,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_484P242,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_996,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_996P484,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_2x996,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_3x996,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484,
+ NL80211_RATE_INFO_EHT_RU_ALLOC_4x996,
+};
+
+/**
* enum nl80211_rate_info - bitrate information
*
* These attribute types are used with %NL80211_STA_INFO_TXRATE
@@ -3407,6 +3491,13 @@
* @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
* @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
* non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
+ * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate
+ * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15)
+ * @NL80211_RATE_INFO_EHT_NSS: EHT NSS value (u8, 1-8)
+ * @NL80211_RATE_INFO_EHT_GI: EHT guard interval identifier
+ * (u8, see &enum nl80211_eht_gi)
+ * @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then
+ * non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc)
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
*/
enum nl80211_rate_info {
@@ -3428,6 +3519,11 @@
NL80211_RATE_INFO_HE_GI,
NL80211_RATE_INFO_HE_DCM,
NL80211_RATE_INFO_HE_RU_ALLOC,
+ NL80211_RATE_INFO_320_MHZ_WIDTH,
+ NL80211_RATE_INFO_EHT_MCS,
+ NL80211_RATE_INFO_EHT_NSS,
+ NL80211_RATE_INFO_EHT_GI,
+ NL80211_RATE_INFO_EHT_RU_ALLOC,
/* keep last */
__NL80211_RATE_INFO_AFTER_LAST,
@@ -3738,13 +3834,20 @@
* capabilities IE
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as
* defined in HE capabilities IE
- * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently
- * defined
* @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
* given for all 6 GHz band channels
* @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
* advertised on this band/for this iftype (binary)
+ * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC: EHT MAC capabilities as in EHT
+ * capabilities element
+ * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY: EHT PHY capabilities as in EHT
+ * capabilities element
+ * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET: EHT supported NSS/MCS as in EHT
+ * capabilities element
+ * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE: EHT PPE thresholds information as
+ * defined in EHT capabilities element
* @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
+ * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band attribute currently defined
*/
enum nl80211_band_iftype_attr {
__NL80211_BAND_IFTYPE_ATTR_INVALID,
@@ -3756,6 +3859,10 @@
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
+ NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC,
+ NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY,
+ NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET,
+ NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE,
/* keep last */
__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
@@ -3900,6 +4007,10 @@
* on this channel in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_16MHZ: 16 MHz operation is allowed
* on this channel in current regulatory domain.
+ * @NL80211_FREQUENCY_ATTR_NO_320MHZ: any 320 MHz channel using this channel
+ * as the primary or any of the secondary channels isn't possible
+ * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel
+ * in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
* currently defined
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -3936,6 +4047,8 @@
NL80211_FREQUENCY_ATTR_4MHZ,
NL80211_FREQUENCY_ATTR_8MHZ,
NL80211_FREQUENCY_ATTR_16MHZ,
+ NL80211_FREQUENCY_ATTR_NO_320MHZ,
+ NL80211_FREQUENCY_ATTR_NO_EHT,
/* keep last */
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -4134,6 +4247,7 @@
* @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
* @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
* @NL80211_RRF_NO_HE: HE operation not allowed
+ * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
*/
enum nl80211_reg_rule_flags {
NL80211_RRF_NO_OFDM = 1<<0,
@@ -4152,6 +4266,7 @@
NL80211_RRF_NO_80MHZ = 1<<15,
NL80211_RRF_NO_160MHZ = 1<<16,
NL80211_RRF_NO_HE = 1<<17,
+ NL80211_RRF_NO_320MHZ = 1<<18,
};
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
@@ -4649,6 +4764,8 @@
* @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel
* @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel
* @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel
+ * @NL80211_CHAN_WIDTH_320: 320 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
+ * attribute must be provided as well
*/
enum nl80211_chan_width {
NL80211_CHAN_WIDTH_20_NOHT,
@@ -4664,6 +4781,7 @@
NL80211_CHAN_WIDTH_4,
NL80211_CHAN_WIDTH_8,
NL80211_CHAN_WIDTH_16,
+ NL80211_CHAN_WIDTH_320,
};
/**
@@ -5555,7 +5673,7 @@
* => allows 8 of AP/GO that can have BI gcd >= min gcd
*
* numbers = [ #{STA} <= 2 ], channels = 2, max = 2
- * => allows two STAs on different channels
+ * => allows two STAs on the same or on different channels
*
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
* => allows a STA plus three P2P interfaces
@@ -5600,7 +5718,7 @@
* @NL80211_PLINK_ESTAB: mesh peer link is established
* @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled
* @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh
- * plink are discarded
+ * plink are discarded, except for authentication frames
* @NUM_NL80211_PLINK_STATES: number of peer link states
* @MAX_NL80211_PLINK_STATES: highest numerical value of plink states
*/
@@ -5737,13 +5855,15 @@
NL80211_TDLS_DISABLE_LINK,
};
-/*
+/**
* enum nl80211_ap_sme_features - device-integrated AP features
- * Reserved for future use, no bits are defined in
- * NL80211_ATTR_DEVICE_AP_SME yet.
+ * @NL80211_AP_SME_SA_QUERY_OFFLOAD: SA Query procedures offloaded to driver
+ * when user space indicates support for SA Query procedures offload during
+ * "start ap" with %NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT.
+ */
enum nl80211_ap_sme_features {
+ NL80211_AP_SME_SA_QUERY_OFFLOAD = 1 << 0,
};
- */
/**
* enum nl80211_feature_flags - device/driver features
@@ -6051,6 +6171,9 @@
* frames. Userspace has to share FILS AAD details to the driver by using
* @NL80211_CMD_SET_FILS_AAD.
*
+ * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC
+ * detection.
+ *
* @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/
@@ -6117,6 +6240,7 @@
NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
NL80211_EXT_FEATURE_BSS_COLOR,
NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
+ NL80211_EXT_FEATURE_RADAR_BACKGROUND,
/* add new features before the definition below */
NUM_NL80211_EXT_FEATURES,
@@ -7462,4 +7586,20 @@
NL80211_MBSSID_CONFIG_ATTR_MAX = __NL80211_MBSSID_CONFIG_ATTR_LAST - 1,
};
+/**
+ * enum nl80211_ap_settings_flags - AP settings flags
+ *
+ * @NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT: AP supports external
+ * authentication.
+ * @NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT: Userspace supports SA Query
+ * procedures offload to driver. If driver advertises
+ * %NL80211_AP_SME_SA_QUERY_OFFLOAD in AP SME features, userspace shall
+ * ignore SA Query procedures and validations when this flag is set by
+ * userspace.
+ */
+enum nl80211_ap_settings_flags {
+ NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0,
+ NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1,
+};
+
#endif /* __LINUX_NL80211_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/reg.c new/iw-5.19/reg.c
--- old/iw-5.16/reg.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/reg.c 2022-05-27 12:23:45.000000000 +0200
@@ -210,6 +210,7 @@
PARSE_FLAG(NL80211_RRF_NO_80MHZ, "NO-80MHZ");
PARSE_FLAG(NL80211_RRF_NO_160MHZ, "NO-160MHZ");
PARSE_FLAG(NL80211_RRF_NO_HE, "NO-HE");
+ PARSE_FLAG(NL80211_RRF_NO_320MHZ, "NO-320MHZ");
/* Kernels that support NO_IR always turn on both flags */
if ((flags & NL80211_RRF_NO_IR) && (flags & __NL80211_RRF_NO_IBSS)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/station.c new/iw-5.19/station.c
--- old/iw-5.16/station.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/station.c 2022-05-27 12:23:45.000000000 +0200
@@ -239,6 +239,8 @@
pos += snprintf(pos, buflen - (pos - buf), " 80P80MHz");
if (rinfo[NL80211_RATE_INFO_160_MHZ_WIDTH])
pos += snprintf(pos, buflen - (pos - buf), " 160MHz");
+ if (rinfo[NL80211_RATE_INFO_320_MHZ_WIDTH])
+ pos += snprintf(pos, buflen - (pos - buf), " 320MHz");
if (rinfo[NL80211_RATE_INFO_SHORT_GI])
pos += snprintf(pos, buflen - (pos - buf), " short GI");
if (rinfo[NL80211_RATE_INFO_VHT_NSS])
@@ -259,6 +261,18 @@
if (rinfo[NL80211_RATE_INFO_HE_RU_ALLOC])
pos += snprintf(pos, buflen - (pos - buf),
" HE-RU-ALLOC %d", nla_get_u8(rinfo[NL80211_RATE_INFO_HE_RU_ALLOC]));
+ if (rinfo[NL80211_RATE_INFO_EHT_MCS])
+ pos += snprintf(pos, buflen - (pos - buf),
+ " EHT-MCS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_MCS]));
+ if (rinfo[NL80211_RATE_INFO_EHT_NSS])
+ pos += snprintf(pos, buflen - (pos - buf),
+ " EHT-NSS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_NSS]));
+ if (rinfo[NL80211_RATE_INFO_EHT_GI])
+ pos += snprintf(pos, buflen - (pos - buf),
+ " EHT-GI %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_GI]));
+ if (rinfo[NL80211_RATE_INFO_EHT_RU_ALLOC])
+ pos += snprintf(pos, buflen - (pos - buf),
+ " EHT-RU-ALLOC %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_RU_ALLOC]));
}
static char *get_chain_signal(struct nlattr *attr_list)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/survey.c new/iw-5.19/survey.c
--- old/iw-5.16/survey.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/survey.c 2022-05-27 12:23:45.000000000 +0200
@@ -71,10 +71,20 @@
int argc, char **argv,
enum id_input id)
{
+ if (argc > 1)
+ return HANDLER_RET_USAGE;
+
+ if (argc) {
+ if (!strcmp(argv[0], "--radio"))
+ nla_put_flag(msg, NL80211_ATTR_SURVEY_RADIO_STATS);
+ else
+ return HANDLER_RET_USAGE;
+ }
+
register_handler(print_survey_handler, NULL);
return 0;
}
-COMMAND(survey, dump, NULL,
+COMMAND(survey, dump, "[--radio]",
NL80211_CMD_GET_SURVEY, NLM_F_DUMP, CIB_NETDEV, handle_survey_dump,
"List all gathered channel survey data");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/util.c new/iw-5.19/util.c
--- old/iw-5.16/util.c 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/util.c 2022-05-27 12:23:45.000000000 +0200
@@ -508,6 +508,7 @@
case NL80211_CHAN_WIDTH_40:
case NL80211_CHAN_WIDTH_80:
case NL80211_CHAN_WIDTH_160:
+ case NL80211_CHAN_WIDTH_320:
need_cf1 = true;
break;
case NL80211_CHAN_WIDTH_1:
@@ -625,6 +626,10 @@
.width = NL80211_CHAN_WIDTH_160,
.freq1_diff = 0,
.chantype = -1 },
+ { .name = "320MHz",
+ .width = NL80211_CHAN_WIDTH_320,
+ .freq1_diff = 0,
+ .chantype = -1 },
};
const struct chanmode *chanmode_selected = NULL;
unsigned int freq;
@@ -917,9 +922,159 @@
}
}
+struct vht_nss_ratio {
+ bool valid;
+ int bw_20;
+ int bw_40;
+ int bw_80;
+ int bw_160;
+ int bw_80_80;
+};
+
+/*
+ * indexed by [chan_width][ext_nss_bw], ratio in 1/4 unit
+ */
+static const struct vht_nss_ratio nss_ratio_tbl[3][4] = {
+ {
+ /* chan_width == 0, ext_nss_bw == 0 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ },
+ /* chan_width == 0, ext_nss_bw == 1 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 2,
+ },
+ /* chan_width == 0, ext_nss_bw == 2 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 2,
+ .bw_80_80 = 2,
+ },
+ /* chan_width == 0, ext_nss_bw == 3 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 3,
+ .bw_80_80 = 3,
+ },
+ },
+ {
+ /* chan_width == 1, ext_nss_bw == 0 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 4,
+ },
+ /* chan_width == 1, ext_nss_bw == 1 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 4,
+ .bw_80_80 = 2,
+ },
+ /* chan_width == 1, ext_nss_bw == 2 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 4,
+ .bw_80_80 = 3,
+ },
+ /* chan_width == 1, ext_nss_bw == 3 */
+ {
+ .valid = true,
+ .bw_20 = 8,
+ .bw_40 = 8,
+ .bw_80 = 8,
+ .bw_160 = 8,
+ .bw_80_80 = 1,
+ },
+ },
+ {
+ /* chan_width == 2, ext_nss_bw == 0 */
+ {
+ .valid = true,
+ .bw_20 = 4,
+ .bw_40 = 4,
+ .bw_80 = 4,
+ .bw_160 = 4,
+ .bw_80_80 = 4,
+ },
+ /* chan_width == 2, ext_nss_bw == 1 */
+ {},
+ /* chan_width == 2, ext_nss_bw == 2 */
+ {},
+ /* chan_width == 2, ext_nss_bw == 3 */
+ {
+ .valid = true,
+ .bw_20 = 8,
+ .bw_40 = 8,
+ .bw_80 = 8,
+ .bw_160 = 4,
+ .bw_80_80 = 4,
+ },
+ },
+};
+
+static void print_nss_ratio_value(int ratio)
+{
+ const char *rstr;
+
+ switch (ratio) {
+ case 4:
+ return;
+ case 3:
+ rstr = "3/4";
+ break;
+ case 2:
+ rstr = "1/2";
+ break;
+ case 8:
+ rstr = "x2";
+ break;
+ default:
+ rstr = "undef";
+ break;
+ }
+
+ printf("(%s NSS) ", rstr);
+}
+
+static void print_nss_ratio(const char *str, bool force_show, int ratio)
+{
+ if (!ratio)
+ return;
+ if (ratio == 4) {
+ if (force_show)
+ printf("%s ", str);
+ } else {
+ printf("%s ", str);
+ print_nss_ratio_value(ratio);
+ }
+}
+
void print_vht_info(__u32 capa, const __u8 *mcs)
{
__u16 tmp;
+ __u32 supp_chan_width, ext_nss_bw;
+ const struct vht_nss_ratio *nss_tbl;
int i;
printf("\t\tVHT Capabilities (0x%.8x):\n", capa);
@@ -937,13 +1092,34 @@
case 2: printf("11454\n"); break;
case 3: printf("(reserved)\n");
}
+
printf("\t\t\tSupported Channel Width: ");
- switch ((capa >> 2) & 3) {
- case 0: printf("neither 160 nor 80+80\n"); break;
- case 1: printf("160 MHz\n"); break;
- case 2: printf("160 MHz, 80+80 MHz\n"); break;
- case 3: printf("(reserved)\n");
+ supp_chan_width = (capa >> 2) & 3;
+ ext_nss_bw = (capa >> 30) & 3;
+ nss_tbl = &nss_ratio_tbl[supp_chan_width][ext_nss_bw];
+
+ if (!nss_tbl->valid)
+ printf("(reserved)\n");
+ else if (nss_tbl->bw_20 == 4 &&
+ nss_tbl->bw_40 == 4 &&
+ nss_tbl->bw_80 == 4 &&
+ (!nss_tbl->bw_160 || nss_tbl->bw_160 == 4) &&
+ (!nss_tbl->bw_80_80 || nss_tbl->bw_80_80 == 4)) {
+ /* old style print format */
+ switch (supp_chan_width) {
+ case 0: printf("neither 160 nor 80+80\n"); break;
+ case 1: printf("160 MHz\n"); break;
+ case 2: printf("160 MHz, 80+80 MHz\n"); break;
+ }
+ } else {
+ print_nss_ratio("20Mhz", false, nss_tbl->bw_20);
+ print_nss_ratio("40Mhz", false, nss_tbl->bw_40);
+ print_nss_ratio("80Mhz", false, nss_tbl->bw_80);
+ print_nss_ratio("160Mhz", false, nss_tbl->bw_160);
+ print_nss_ratio("80+80Mhz", false, nss_tbl->bw_80_80);
+ printf("\n");
}
+
PRINT_VHT_CAPA(4, "RX LDPC");
PRINT_VHT_CAPA(5, "short GI (80 MHz)");
PRINT_VHT_CAPA(6, "short GI (160/80+80 MHz)");
@@ -989,6 +1165,9 @@
}
tmp = mcs[6] | (mcs[7] << 8);
printf("\t\tVHT TX highest supported: %d Mbps\n", tmp & 0x1fff);
+
+ printf("\t\tVHT extended NSS: %ssupported\n",
+ (tmp & (1 << 13)) ? "" : "not ");
}
static void __print_he_capa(const __u16 *mac_cap,
@@ -1266,6 +1445,216 @@
true);
}
+static void __print_eht_capa(int band,
+ const __u8 *mac_cap,
+ const __u32 *phy_cap,
+ const __u8 *mcs_set, size_t mcs_len,
+ const __u8 *ppet, size_t ppet_len,
+ const __u16 *he_phy_cap,
+ bool indent)
+{
+ unsigned int i;
+ const char *pre = indent ? "\t" : "";
+ const char *mcs[] = { "0-7", "8-9", "10-11", "12-13"};
+
+ #define PRINT_EHT_CAP(_var, _idx, _bit, _str) \
+ do { \
+ if (_var[_idx] & BIT(_bit)) \
+ printf("%s\t\t\t" _str "\n", pre); \
+ } while (0)
+
+ #define PRINT_EHT_CAP_MASK(_var, _idx, _shift, _mask, _str) \
+ do { \
+ if ((_var[_idx] >> _shift) & _mask) \
+ printf("%s\t\t\t" _str ": %d\n", pre, (_var[_idx] >> _shift) & _mask); \
+ } while (0)
+
+ #define PRINT_EHT_MAC_CAP(...) PRINT_EHT_CAP(mac_cap, __VA_ARGS__)
+ #define PRINT_EHT_PHY_CAP(...) PRINT_EHT_CAP(phy_cap, __VA_ARGS__)
+ #define PRINT_EHT_PHY_CAP_MASK(...) PRINT_EHT_CAP_MASK(phy_cap, __VA_ARGS__)
+
+ printf("%s\t\tEHT MAC Capabilities (0x", pre);
+ for (i = 0; i < 2; i++)
+ printf("%02x", mac_cap[i]);
+ printf("):\n");
+
+ PRINT_EHT_MAC_CAP(0, 0, "NSEP priority access Supported");
+ PRINT_EHT_MAC_CAP(0, 1, "EHT OM Control Supported");
+ PRINT_EHT_MAC_CAP(0, 2, "Triggered TXOP Sharing Supported");
+ PRINT_EHT_MAC_CAP(0, 3, "ARR Supported");
+
+ printf("%s\t\tEHT PHY Capabilities: (0x", pre);
+ for (i = 0; i < 8; i++)
+ printf("%02x", ((__u8 *)phy_cap)[i]);
+ printf("):\n");
+
+ PRINT_EHT_PHY_CAP(0, 1, "320MHz in 6GHz Supported");
+ PRINT_EHT_PHY_CAP(0, 2, "242-tone RU in BW wider than 20MHz Supported");
+ PRINT_EHT_PHY_CAP(0, 3, "NDP With EHT-LTF And 3.2 ��s GI");
+ PRINT_EHT_PHY_CAP(0, 4, "Partial Bandwidth UL MU-MIMO");
+ PRINT_EHT_PHY_CAP(0, 5, "SU Beamformer");
+ PRINT_EHT_PHY_CAP(0, 6, "SU Beamformee");
+ PRINT_EHT_PHY_CAP_MASK(0, 7, 0x7, "Beamformee SS (80MHz)");
+ PRINT_EHT_PHY_CAP_MASK(0, 10, 0x7, "Beamformee SS (160MHz)");
+ PRINT_EHT_PHY_CAP_MASK(0, 13, 0x7, "Beamformee SS (320MHz)");
+
+ PRINT_EHT_PHY_CAP_MASK(0, 16, 0x7, "Number Of Sounding Dimensions (80MHz)");
+ PRINT_EHT_PHY_CAP_MASK(0, 19, 0x7, "Number Of Sounding Dimensions (160MHz)");
+ PRINT_EHT_PHY_CAP_MASK(0, 22, 0x7, "Number Of Sounding Dimensions (320MHz)");
+ PRINT_EHT_PHY_CAP(0, 25, "Ng = 16 SU Feedback");
+ PRINT_EHT_PHY_CAP(0, 26, "Ng = 16 MU Feedback");
+ PRINT_EHT_PHY_CAP(0, 27, "Codebook size (4, 2) SU Feedback");
+ PRINT_EHT_PHY_CAP(0, 28, "Codebook size (7, 5) MU Feedback");
+ PRINT_EHT_PHY_CAP(0, 29, "Triggered SU Beamforming Feedback");
+ PRINT_EHT_PHY_CAP(0, 30, "Triggered MU Beamforming Partial BW Feedback");
+ PRINT_EHT_PHY_CAP(0, 31, "Triggered CQI Feedback");
+
+ PRINT_EHT_PHY_CAP(1, 0, "Partial Bandwidth DL MU-MIMO");
+ PRINT_EHT_PHY_CAP(1, 1, "PSR-Based SR Support");
+ PRINT_EHT_PHY_CAP(1, 2, "Power Boost Factor Support");
+ PRINT_EHT_PHY_CAP(1, 3, "EHT MU PPDU With 4 EHT-LTF And 0.8 ��s GI");
+ PRINT_EHT_PHY_CAP_MASK(1, 4, 0xf, "Max Nc");
+ PRINT_EHT_PHY_CAP(1, 8, "Non-Triggered CQI Feedback");
+
+ PRINT_EHT_PHY_CAP(1, 9, "Tx 1024-QAM And 4096-QAM < 242-tone RU");
+ PRINT_EHT_PHY_CAP(1, 10, "Rx 1024-QAM And 4096-QAM < 242-tone RU");
+ PRINT_EHT_PHY_CAP(1, 11, "PPE Thresholds Present");
+ PRINT_EHT_PHY_CAP_MASK(1, 12, 0x3, "Common Nominal Packet Padding");
+ PRINT_EHT_PHY_CAP_MASK(1, 14, 0x1f, "Maximum Number Of Supported EHT-LTFs");
+ PRINT_EHT_PHY_CAP_MASK(1, 19, 0xf, "Support of MCS 15");
+ PRINT_EHT_PHY_CAP(1, 23, "Support Of EHT DUP In 6 GHz");
+ PRINT_EHT_PHY_CAP(1, 24, "Support For 20MHz Rx NDP With Wider Bandwidth");
+ PRINT_EHT_PHY_CAP(1, 25, "Non-OFDMA UL MU-MIMO (80MHz)");
+ PRINT_EHT_PHY_CAP(1, 26, "Non-OFDMA UL MU-MIMO (160MHz)");
+ PRINT_EHT_PHY_CAP(1, 27, "Non-OFDMA UL MU-MIMO (320MHz)");
+ PRINT_EHT_PHY_CAP(1, 28, "MU Beamformer (80MHz)");
+ PRINT_EHT_PHY_CAP(1, 29, "MU Beamformer (160MHz)");
+ PRINT_EHT_PHY_CAP(1, 30, "MU Beamformer (320MHz)");
+
+ printf("%s\t\tEHT MCS/NSS: (0x", pre);
+ for (i = 0; i < mcs_len; i++)
+ printf("%02x", ((__u8 *)mcs_set)[i]);
+ printf("):\n");
+
+ if (!(he_phy_cap[0] & ((BIT(2) | BIT(3) | BIT(4)) << 8))){
+ for (i = 0; i < 4; i++)
+ printf("%s\t\tEHT bw=20 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+ pre, mcs[i],
+ mcs_set[i] & 0xf, mcs_set[i] >> 4);
+ }
+
+ mcs_set += 4;
+ if (he_phy_cap[0] & (BIT(2) << 8)) {
+ for (i = 0; i < 3; i++)
+ printf("%s\t\tEHT bw <= 80 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+ pre, mcs[i + 1],
+ mcs_set[i] & 0xf, mcs_set[i] >> 4);
+
+ }
+
+ mcs_set += 3;
+ if (he_phy_cap[0] & (BIT(3) << 8)) {
+ for (i = 0; i < 3; i++)
+ printf("%s\t\tEHT bw=160 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+ pre, mcs[i + 1],
+ mcs_set[i] & 0xf, mcs_set[i] >> 4);
+
+ }
+
+ mcs_set += 3;
+ if (band == NL80211_BAND_6GHZ && (phy_cap[0] & BIT(1))) {
+ for (i = 0; i < 3; i++)
+ printf("%s\t\tEHT bw=320 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+ pre, mcs[i + 1],
+ mcs_set[i] & 0xf, mcs_set[i] >> 4);
+
+ }
+
+ if (ppet && ppet_len && (phy_cap[1] & BIT(11))) {
+ printf("%s\t\tEHT PPE Thresholds ", pre);
+ for (i = 0; i < ppet_len; i++)
+ if (ppet[i])
+ printf("0x%02x ", ppet[i]);
+ printf("\n");
+ }
+}
+
+void print_eht_info(struct nlattr *nl_iftype, int band)
+{
+ struct nlattr *tb[NL80211_BAND_IFTYPE_ATTR_MAX + 1];
+ __u8 mac_cap[2] = { 0 };
+ __u32 phy_cap[2] = { 0 };
+ __u8 mcs_set[13] = { 0 };
+ __u8 ppet[31] = { 0 };
+ __u16 he_phy_cap[6] = { 0 };
+ size_t len, mcs_len = 0, ppet_len = 0;
+
+ nla_parse(tb, NL80211_BAND_IFTYPE_ATTR_MAX,
+ nla_data(nl_iftype), nla_len(nl_iftype), NULL);
+
+ if (!tb[NL80211_BAND_IFTYPE_ATTR_IFTYPES])
+ return;
+
+ printf("\t\tEHT Iftypes: ");
+ print_iftype_line(tb[NL80211_BAND_IFTYPE_ATTR_IFTYPES]);
+ printf("\n");
+
+ if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]) {
+ len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]);
+ if (len > sizeof(mac_cap))
+ len = sizeof(mac_cap);
+ memcpy(mac_cap,
+ nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]),
+ len);
+ }
+
+ if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]) {
+ len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]);
+
+ if (len > sizeof(phy_cap))
+ len = sizeof(phy_cap);
+
+ memcpy(phy_cap,
+ nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]),
+ len);
+ }
+
+ if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]) {
+ len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]);
+ if (len > sizeof(mcs_set))
+ len = sizeof(mcs_set);
+ memcpy(mcs_set,
+ nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]),
+ len);
+
+ // Assume that all parts of the MCS set are present
+ mcs_len = sizeof(mcs_set);
+ }
+
+ if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]) {
+ len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]);
+ if (len > sizeof(ppet))
+ len = sizeof(ppet);
+ memcpy(ppet,
+ nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]),
+ len);
+ ppet_len = len;
+ }
+
+ if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]) {
+ len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]);
+
+ if (len > sizeof(he_phy_cap) - 1)
+ len = sizeof(he_phy_cap) - 1;
+ memcpy(&((__u8 *)he_phy_cap)[1],
+ nla_data(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]),
+ len);
+ }
+
+ __print_eht_capa(band, mac_cap, phy_cap, mcs_set, mcs_len, ppet, ppet_len,
+ he_phy_cap, true);
+}
+
void print_he_capability(const uint8_t *ie, int len)
{
const void *mac_cap, *phy_cap, *mcs_set;
@@ -1304,7 +1693,8 @@
5955, 6035, 6115, 6195, 6275, 6355,
6435, 6515, 6595, 6675, 6755, 6835,
6195, 6995 };
- unsigned int vht160[] = { 5180, 5500 };
+ unsigned int bw160[] = { 5180, 5500, 5955, 6115, 6275, 6435,
+ 6595, 6755, 6915 };
switch (chanmode->width) {
case NL80211_CHAN_WIDTH_80:
@@ -1321,15 +1711,15 @@
break;
case NL80211_CHAN_WIDTH_160:
/* setup center_freq1 */
- for (j = 0; j < ARRAY_SIZE(vht160); j++) {
- if (freq >= vht160[j] && freq < vht160[j] + 160)
+ for (j = 0; j < ARRAY_SIZE(bw160); j++) {
+ if (freq >= bw160[j] && freq < bw160[j] + 160)
break;
}
- if (j == ARRAY_SIZE(vht160))
+ if (j == ARRAY_SIZE(bw160))
break;
- cf1 = vht160[j] + 70;
+ cf1 = bw160[j] + 70;
break;
default:
cf1 = freq + chanmode->freq1_diff;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-5.16/version.sh new/iw-5.19/version.sh
--- old/iw-5.16/version.sh 2021-11-08 09:58:10.000000000 +0100
+++ new/iw-5.19/version.sh 2022-05-27 12:23:45.000000000 +0200
@@ -1,6 +1,6 @@
#!/bin/sh
-VERSION="5.16"
+VERSION="5.19"
OUT="$1"
# get the absolute path for the OUT file
++++++ iw.obsinfo ++++++
--- /var/tmp/diff_new_pack.zJMK7o/_old 2022-06-01 17:34:27.534726402 +0200
+++ /var/tmp/diff_new_pack.zJMK7o/_new 2022-06-01 17:34:27.538726407 +0200
@@ -1,6 +1,5 @@
name: iw
-version: 5.16
-mtime: 1636361890
-commit: d034d73ad655ade6615f1aa5593cfddee0db10a9
-
+version: 5.19
+mtime: 1653647025
+commit: 79f20cbf1a333a23e3b041d502277d240aedb840
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wireless-regdb for openSUSE:Factory checked in at 2022-06-01 17:34:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireless-regdb (Old)
and /work/SRC/openSUSE:Factory/.wireless-regdb.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wireless-regdb"
Wed Jun 1 17:34:12 2022 rev:54 rq:980054 version:20220527
Changes:
--------
--- /work/SRC/openSUSE:Factory/wireless-regdb/wireless-regdb.changes 2022-04-22 21:52:44.442702517 +0200
+++ /work/SRC/openSUSE:Factory/.wireless-regdb.new.1548/wireless-regdb.changes 2022-06-01 17:34:25.870724436 +0200
@@ -1,0 +2,9 @@
+Tue May 31 08:13:24 UTC 2022 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Update to version 20220527:
+ * wireless-regdb: update regulatory rules for Bulgaria (BG) on 6GHz
+ * Regulatory update for 6 GHz operation in FI
+ * Regulatory update for 6 GHz operation in United States (US)
+ * Regulatory update for 6 GHz operation in Canada (CA)
+
+-------------------------------------------------------------------
Old:
----
wireless-regdb-20220408.obscpio
New:
----
wireless-regdb-20220527.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wireless-regdb.spec ++++++
--- /var/tmp/diff_new_pack.TnfVoj/_old 2022-06-01 17:34:26.426725092 +0200
+++ /var/tmp/diff_new_pack.TnfVoj/_new 2022-06-01 17:34:26.430725097 +0200
@@ -17,7 +17,7 @@
Name: wireless-regdb
-Version: 20220408
+Version: 20220527
Release: 0
Summary: 802.11 regulatory domain database
License: ISC
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.TnfVoj/_old 2022-06-01 17:34:26.474725149 +0200
+++ /var/tmp/diff_new_pack.TnfVoj/_new 2022-06-01 17:34:26.478725154 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git</param>
- <param name="changesrevision">166fbddc84ba13f17b133073331e015e0f52f0da</param></service></servicedata>
+ <param name="changesrevision">c6b079d6ff61dec725e64c3319cbb572d63486ca</param></service></servicedata>
(No newline at EOF)
++++++ wireless-regdb-20220408.obscpio -> wireless-regdb-20220527.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wireless-regdb-20220408/db.txt new/wireless-regdb-20220527/db.txt
--- old/wireless-regdb-20220408/db.txt 2022-04-08 17:54:37.000000000 +0200
+++ new/wireless-regdb-20220527/db.txt 2022-05-27 21:40:49.000000000 +0200
@@ -219,6 +219,10 @@
# Harmonized CEPT countries (July 2019): https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
# BG: https://crc.bg/files/_en/Electronic_Communications_Revised_EN1.pdf
# BG: acceptance of 2006/771/EC https://crc.bg/files/Pravila_06_12_2018.pdf
+#
+# Amendment of the rules for free use of radio frequency spectrum
+# (������������������ �� �������������������� ���� ������������������ ���� ���������������� �������������������� ���� ���������������������������� ��������������)
+# https://dv.parliament.bg/DVWeb/showMaterialDV.jsp?idMat=168250
country BG: DFS-ETSI
# Wideband data transmission systems (WDTS) in the 2.4GHz ISM band, ref:
# I.22 of the List, BDS EN 300 328
@@ -232,6 +236,8 @@
# short range devices (ETSI EN 300 440-1)
# I.43 of the List, BDS EN 300 440-2, BDS EN 300 440-1
(5725 - 5875 @ 80), (25 mW)
+ # WiFi 6E
+ (5945 - 6425 @ 160), (23), NO-OUTDOOR, wmmrule=ETSI
# 60 GHz band channels 1-4 (ETSI EN 302 567)
# II.H03 of the List, BDS EN 302 567-2
(57000 - 66000 @ 2160), (40)
@@ -298,8 +304,9 @@
(2402 - 2482 @ 40), (30)
(5735 - 5835 @ 80), (30)
-# Source:
+# Sources:
# https://www.ic.gc.ca/eic/site/smt-gst.nsf/vwapj/rss-247-i2-e.pdf/$file/rss-…
+# https://www.ic.gc.ca/eic/site/smt-gst.nsf/eng/sf11750.html (6 GHz operation)
country CA: DFS-FCC
(2402 - 2472 @ 40), (30)
(5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW
@@ -307,6 +314,7 @@
(5470 - 5600 @ 80), (24), DFS
(5650 - 5730 @ 80), (24), DFS
(5735 - 5835 @ 80), (30)
+ (5925 - 7125 @ 320), (12), NO-OUTDOOR
# Source:
# http://www.art-rca.org
@@ -570,6 +578,7 @@
# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440)
# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-200702…
# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-200806…
+# EU decision 2021/1067/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32021D1067&fr…
# Harmonized CEPT countries (July 2019): https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
country FI: DFS-ETSI
(2400 - 2483.5 @ 40), (100 mW)
@@ -578,7 +587,9 @@
(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
# short range devices (ETSI EN 300 440-1)
(5725 - 5875 @ 80), (25 mW)
- # 60 GHz band channels 1-4 (ETSI EN 302 567)
+ # 6 GHz band
+ (5945 - 6425 @ 160), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
+ # 60 GHz band channels 1-4 (ETSI EN 302 567)
(57000 - 66000 @ 2160), (40)
country FM: DFS-FCC
@@ -621,6 +632,7 @@
(5470 - 5730 @ 160), (500 mW), DFS, wmmrule=ETSI
# short range devices (ETSI EN 300 440-1)
(5725 - 5850 @ 80), (200 mW), NO-OUTDOOR
+ (5925 - 6425 @ 160), (250 mW), NO-OUTDOOR, wmmrule=ETSI
# 60 GHz band channels 1-6
(57000 - 71000 @ 2160), (40)
@@ -1647,6 +1659,9 @@
# https://www.federalregister.gov/documents/2021/05/03/2021-08802/use-of-the-…
# max. 33 dBm AP @ 20MHz, 36 dBm AP @ 40Mhz+, 6 dB less for clients
(5850 - 5895 @ 40), (27), NO-OUTDOOR, AUTO-BW, NO-IR
+ # 6g band
+ # https://www.federalregister.gov/documents/2020/05/26/2020-11236/unlicensed-…
+ (5925 - 7125 @ 320), (12), NO-OUTDOOR, NO-IR
# 60g band
# reference: section IV-D https://docs.fcc.gov/public/attachments/FCC-16-89A1.pdf
# channels 1-6 EIRP=40dBm(43dBm peak)
++++++ wireless-regdb.obsinfo ++++++
--- /var/tmp/diff_new_pack.TnfVoj/_old 2022-06-01 17:34:26.578725272 +0200
+++ /var/tmp/diff_new_pack.TnfVoj/_new 2022-06-01 17:34:26.582725277 +0200
@@ -1,5 +1,5 @@
name: wireless-regdb
-version: 20220408
-mtime: 1649433277
-commit: 166fbddc84ba13f17b133073331e015e0f52f0da
+version: 20220527
+mtime: 1653680449
+commit: c6b079d6ff61dec725e64c3319cbb572d63486ca
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package publicsuffix for openSUSE:Factory checked in at 2022-06-01 17:34:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/publicsuffix (Old)
and /work/SRC/openSUSE:Factory/.publicsuffix.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "publicsuffix"
Wed Jun 1 17:34:11 2022 rev:85 rq:980053 version:20220518
Changes:
--------
--- /work/SRC/openSUSE:Factory/publicsuffix/publicsuffix.changes 2022-05-12 22:58:20.204633784 +0200
+++ /work/SRC/openSUSE:Factory/.publicsuffix.new.1548/publicsuffix.changes 2022-06-01 17:34:24.878723263 +0200
@@ -1,0 +2,10 @@
+Tue May 31 08:10:11 UTC 2022 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Update to version 20220518:
+ * util: gTLD data autopull updates for 2022-05-18T15:16:02 UTC (#1567)
+ * fixed wordwrap; added # of users q
+ * Add builder.code.com, stg-builder.code.com, and dev-builder.code.com (#1566)
+ * UPDATE HOSTBIP RECORDS (`name.pm` `sch.tf` `biz.wf` `sch.wf` `org.yt`) (#1473)
+ * Fix comments delete space and deprecation of io/ioutil (#1557)
+
+-------------------------------------------------------------------
Old:
----
publicsuffix-20220510.obscpio
New:
----
publicsuffix-20220518.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ publicsuffix.spec ++++++
--- /var/tmp/diff_new_pack.fRu87R/_old 2022-06-01 17:34:25.526724029 +0200
+++ /var/tmp/diff_new_pack.fRu87R/_new 2022-06-01 17:34:25.530724034 +0200
@@ -18,7 +18,7 @@
Name: publicsuffix
-Version: 20220510
+Version: 20220518
Release: 0
Summary: Cross-vendor public domain suffix database
License: MPL-2.0
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.fRu87R/_old 2022-06-01 17:34:25.586724100 +0200
+++ /var/tmp/diff_new_pack.fRu87R/_new 2022-06-01 17:34:25.590724105 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/publicsuffix/list.git</param>
- <param name="changesrevision">663236d380ce0f80fa5880b0536988ebc0af6d54</param></service></servicedata>
+ <param name="changesrevision">d17a65633b0286833727ef21e897a22564695ef5</param></service></servicedata>
(No newline at EOF)
++++++ publicsuffix-20220510.obscpio -> publicsuffix-20220518.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/publicsuffix-20220510/.github/pull_request_template.md new/publicsuffix-20220518/.github/pull_request_template.md
--- old/publicsuffix-20220510/.github/pull_request_template.md 2022-05-10 21:07:53.000000000 +0200
+++ new/publicsuffix-20220518/.github/pull_request_template.md 2022-05-18 21:44:47.000000000 +0200
@@ -69,18 +69,11 @@
---
-For Private section requests that are submitting entries for domains
-that match their organization website's primary domain, please
-understand that this can have impacts that may not match the
-desired outcome and take a long time to rollback, if at all.
-
-To ensure that requested changes are entirely intentional, make sure
-that you read the affectation and propagation expectations,
-that you understand them, and confirm this understanding.
-
-PR Rollbacks have lower priority, and the volunteers are unable
-to control when or if browsers or other parties using the
-PSL will refresh or update.
+For Private section requests that are submitting entries for domains that match their organization website's primary domain, please understand that this can have impacts that may not match the desired outcome and take a long time to rollback, if at all.
+
+To ensure that requested changes are entirely intentional, make sure that you read the affectation and propagation expectations, that you understand them, and confirm this understanding.
+
+PR Rollbacks have lower priority, and the volunteers are unable to control when or if browsers or other parties using the PSL will refresh or update.
<!--
Seriously, carefully read the downline flow of the PSL and the
@@ -164,6 +157,12 @@
upper limit, but six paragraphs seems like a rational stop.
-->
+Number of users this request is being made to serve:
+<!--
+Identify if this is current or an estimate.
+-->
+
+
DNS Verification via dig
=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/publicsuffix-20220510/public_suffix_list.dat new/publicsuffix-20220518/public_suffix_list.dat
--- old/publicsuffix-20220510/public_suffix_list.dat 2022-05-10 21:07:53.000000000 +0200
+++ new/publicsuffix-20220518/public_suffix_list.dat 2022-05-18 21:44:47.000000000 +0200
@@ -7130,7 +7130,7 @@
// newGTLDs
-// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-04-30T15:14:46Z
+// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-05-18T15:16:02Z
// This list is auto-generated, don't edit it manually.
// aaa : 2015-02-26 American Automobile Association, Inc.
aaa
@@ -8851,7 +8851,7 @@
// linde : 2014-12-04 Linde Aktiengesellschaft
linde
-// link : 2013-11-14 UNR Corp.
+// link : 2013-11-14 Nova Registry Ltd
link
// lipsy : 2015-06-25 Lipsy Ltd
@@ -12361,7 +12361,6 @@
ngo.ng
edu.scot
sch.so
-org.yt
// HostyHosting (hostyhosting.com)
hostyhosting.io
@@ -13393,6 +13392,12 @@
������.������
��.������
+// Salesforce.com, Inc. https://salesforce.com/
+// Submitted by Michael Biven <mbiven(a)salesforce.com>
+builder.code.com
+dev-builder.code.com
+stg-builder.code.com
+
// Sandstorm Development Group, Inc. : https://sandcats.io/
// Submitted by Asheesh Laroia <asheesh(a)sandstorm.io>
sandcats.io
@@ -13816,6 +13821,15 @@
ltd.hk
inc.hk
+// UNIVERSAL DOMAIN REGISTRY : https://www.udr.org.yt/
+// see also: whois -h whois.udr.org.yt help
+// Submitted by Atanunu Igbunuroghene <publicsuffixlist(a)udr.org.yt>
+name.pm
+sch.tf
+biz.wf
+sch.wf
+org.yt
+
// United Gameserver GmbH : https://united-gameserver.de
// Submitted by Stefan Schwarz <sysadm(a)united-gameserver.de>
virtualuser.de
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/publicsuffix-20220510/tools/newgtlds.go new/publicsuffix-20220518/tools/newgtlds.go
--- old/publicsuffix-20220510/tools/newgtlds.go 2022-05-10 21:07:53.000000000 +0200
+++ new/publicsuffix-20220518/tools/newgtlds.go 2022-05-18 21:44:47.000000000 +0200
@@ -9,7 +9,6 @@
"flag"
"fmt"
"io"
- "io/ioutil"
"net/http"
"os"
"strings"
@@ -22,7 +21,7 @@
// 2). See https://www.icann.org/resources/pages/registries/registries-en for
// more information.
ICANN_GTLD_JSON_URL = "https://www.icann.org/resources/registries/gtlds/v2/gtlds.json"
- // IANA_TLDS_TXT_URL is the URL for the IANA "Public Suffix List" of TLDs
+ // IANA_TLDS_TXT_URL is the URL for the IANA "Public Suffix List" of TLDs
// in the ICP-3 Root - including new ccTLDs, EBRERO gTLDS or things not in
// the JSON File above that should be included in the PSL. Note: UPPERCASE
IANA_TLDS_TXT_URL = "http://data.iana.org/TLD/tlds-alpha-by-domain.txt"
@@ -268,7 +267,7 @@
// data is found within the dat file. An error is returned if the file can't be read
// or if the gTLD data span can't be found or is invalid.
func readDatFile(datFilePath string) (*datFile, error) {
- pslDatBytes, err := ioutil.ReadFile(datFilePath)
+ pslDatBytes, err := os.ReadFile(datFilePath)
if err != nil {
return nil, err
}
@@ -339,7 +338,7 @@
url, http.StatusOK, resp.StatusCode)
}
- respBody, err := ioutil.ReadAll(resp.Body)
+ respBody, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
@@ -533,7 +532,7 @@
pslDatFile := flag.String(
"psl-dat-file",
"public_suffix_list.dat",
- "file path to the public_suffix.dat data file to be updated with new gTLDs")
+ "file path to the public_suffix_list.dat data file to be updated with new gTLDs")
overwrite := flag.Bool(
"overwrite",
@@ -559,6 +558,6 @@
// Otherwise print nothing to stdout and write the content over the exiting
// pslDatFile path we read earlier.
- err = ioutil.WriteFile(*pslDatFile, []byte(content), 0644)
+ err = os.WriteFile(*pslDatFile, []byte(content), 0644)
ifErrQuit(err)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/publicsuffix-20220510/tools/newgtlds_test.go new/publicsuffix-20220518/tools/newgtlds_test.go
--- old/publicsuffix-20220510/tools/newgtlds_test.go 2022-05-10 21:07:53.000000000 +0200
+++ new/publicsuffix-20220518/tools/newgtlds_test.go 2022-05-18 21:44:47.000000000 +0200
@@ -5,7 +5,6 @@
"encoding/json"
"fmt"
"io"
- "io/ioutil"
"net/http"
"net/http/httptest"
"os"
@@ -532,7 +531,7 @@
func TestReadDatFile(t *testing.T) {
mustWriteTemp := func(t *testing.T, content string) string {
- tmpfile, err := ioutil.TempFile("", "dat")
+ tmpfile, err := os.CreateTemp("", "dat")
if err != nil {
t.Fatalf("Failed to create temp file: %v", err)
}
++++++ publicsuffix.obsinfo ++++++
--- /var/tmp/diff_new_pack.fRu87R/_old 2022-06-01 17:34:25.718724256 +0200
+++ /var/tmp/diff_new_pack.fRu87R/_new 2022-06-01 17:34:25.722724261 +0200
@@ -1,5 +1,5 @@
name: publicsuffix
-version: 20220510
-mtime: 1652209673
-commit: 663236d380ce0f80fa5880b0536988ebc0af6d54
+version: 20220518
+mtime: 1652903087
+commit: d17a65633b0286833727ef21e897a22564695ef5
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-waitress for openSUSE:Factory checked in at 2022-06-01 17:34:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-waitress (Old)
and /work/SRC/openSUSE:Factory/.python-waitress.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-waitress"
Wed Jun 1 17:34:10 2022 rev:25 rq:980052 version:2.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-waitress/python-waitress.changes 2022-03-20 20:55:16.258502495 +0100
+++ /work/SRC/openSUSE:Factory/.python-waitress.new.1548/python-waitress.changes 2022-06-01 17:34:23.866722068 +0200
@@ -1,0 +2,26 @@
+Tue May 31 03:16:03 UTC 2022 - Arun Persaud <arun(a)gmx.de>
+
+- specfile:
+ * be more specific in %files section
+
+- update to version 2.1.2:
+ * Bugfix
+ + When expose_tracebacks is enabled waitress would fail to
+ properly encode unicode thereby causing another error during
+ error handling. See https://github.com/Pylons/waitress/pull/378
+ + Header length checking had a calculation that was done
+ incorrectly when the data was received across multple socket
+ reads. This calculation has been corrected, and no longer will
+ Waitress send back a 413 Request Entity Too Large. See
+ https://github.com/Pylons/waitress/pull/376
+ * Security Bugfix
+ + in 2.1.0 a new feature was introduced that allowed the WSGI
+ thread to start sending data to the socket. However this
+ introduced a race condition whereby a socket may be closed in
+ the sending thread while the main thread is about to call
+ select() therey causing the entire application to be taken down.
+ Waitress will no longer close the socket in the WSGI thread,
+ instead waking up the main thread to cleanup. See
+ https://github.com/Pylons/waitress/pull/377
+
+-------------------------------------------------------------------
Old:
----
waitress-2.1.1.tar.gz
New:
----
waitress-2.1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-waitress.spec ++++++
--- /var/tmp/diff_new_pack.VfCHgI/_old 2022-06-01 17:34:24.530722852 +0200
+++ /var/tmp/diff_new_pack.VfCHgI/_new 2022-06-01 17:34:24.534722857 +0200
@@ -16,24 +16,21 @@
#
-%if 0%{?suse_version} > 1500
-%bcond_without libalternatives
-%else
-%bcond_with libalternatives
-%endif
-
%global flavor @BUILD_FLAVOR@%{nil}
-
%if "%{flavor}" == "doc"
%define psuffix -doc
%endif
%if "%{flavor}" == ""
%define psuffix %{nil}
%endif
-
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%if 0%{?suse_version} > 1500
+%bcond_without libalternatives
+%else
+%bcond_with libalternatives
+%endif
Name: python-waitress%{psuffix}
-Version: 2.1.1
+Version: 2.1.2
Release: 0
Summary: Waitress WSGI server
License: ZPL-2.1
@@ -46,13 +43,14 @@
Source2: fetch-intersphinx-inventories.sh
BuildRequires: fdupes
BuildRequires: python-rpm-macros >= 20210929
+BuildArch: noarch
%if "%{flavor}" == ""
BuildRequires: %{python_module pytest-cov}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
%if %{with libalternatives}
-Requires: alts
BuildRequires: alts
+Requires: alts
%else
Requires(post): update-alternatives
Requires(postun):update-alternatives
@@ -65,7 +63,6 @@
BuildRequires: python3-waitress = %{version}
Recommends: python3-waitress = %{version}
%endif
-BuildArch: noarch
%python_subpackages
%if "%{flavor}" == ""
@@ -106,7 +103,9 @@
%license LICENSE.txt
%doc COPYRIGHT.txt README.rst
%python_alternative %{_bindir}/waitress-serve
-%{python_sitelib}/*
+%dir %{python_sitelib}/waitress
+%{python_sitelib}/waitress/*
+%{python_sitelib}/waitress-%{version}-py*.egg-info
%else
++++++ waitress-2.1.1.tar.gz -> waitress-2.1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/CHANGES.txt new/waitress-2.1.2/CHANGES.txt
--- old/waitress-2.1.1/CHANGES.txt 2022-03-16 22:26:39.000000000 +0100
+++ new/waitress-2.1.2/CHANGES.txt 2022-05-30 23:30:56.000000000 +0200
@@ -1,3 +1,28 @@
+2.1.2
+-----
+
+Bugfix
+~~~~~~
+
+- When expose_tracebacks is enabled waitress would fail to properly encode
+ unicode thereby causing another error during error handling. See
+ https://github.com/Pylons/waitress/pull/378
+
+- Header length checking had a calculation that was done incorrectly when the
+ data was received across multple socket reads. This calculation has been
+ corrected, and no longer will Waitress send back a 413 Request Entity Too
+ Large. See https://github.com/Pylons/waitress/pull/376
+
+Security Bugfix
+~~~~~~~~~~~~~~~
+
+- in 2.1.0 a new feature was introduced that allowed the WSGI thread to start
+ sending data to the socket. However this introduced a race condition whereby
+ a socket may be closed in the sending thread while the main thread is about
+ to call select() therey causing the entire application to be taken down.
+ Waitress will no longer close the socket in the WSGI thread, instead waking
+ up the main thread to cleanup. See https://github.com/Pylons/waitress/pull/377
+
2.1.1
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/PKG-INFO new/waitress-2.1.2/PKG-INFO
--- old/waitress-2.1.1/PKG-INFO 2022-03-16 22:34:36.896260300 +0100
+++ new/waitress-2.1.2/PKG-INFO 2022-05-30 23:38:47.581633300 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: waitress
-Version: 2.1.1
+Version: 2.1.2
Summary: Waitress WSGI server
Home-page: https://github.com/Pylons/waitress
Author: Zope Foundation and Contributors
@@ -12,7 +12,6 @@
Project-URL: Changelog, https://docs.pylonsproject.org/projects/waitress/en/latest/index.html#chang…
Project-URL: Issue Tracker, https://github.com/Pylons/waitress/issues
Keywords: waitress wsgi server http
-Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
@@ -61,6 +60,31 @@
For more information, see the "docs" directory of the Waitress package or visit
https://docs.pylonsproject.org/projects/waitress/en/latest/
+2.1.2
+-----
+
+Bugfix
+~~~~~~
+
+- When expose_tracebacks is enabled waitress would fail to properly encode
+ unicode thereby causing another error during error handling. See
+ https://github.com/Pylons/waitress/pull/378
+
+- Header length checking had a calculation that was done incorrectly when the
+ data was received across multple socket reads. This calculation has been
+ corrected, and no longer will Waitress send back a 413 Request Entity Too
+ Large. See https://github.com/Pylons/waitress/pull/376
+
+Security Bugfix
+~~~~~~~~~~~~~~~
+
+- in 2.1.0 a new feature was introduced that allowed the WSGI thread to start
+ sending data to the socket. However this introduced a race condition whereby
+ a socket may be closed in the sending thread while the main thread is about
+ to call select() therey causing the entire application to be taken down.
+ Waitress will no longer close the socket in the WSGI thread, instead waking
+ up the main thread to cleanup. See https://github.com/Pylons/waitress/pull/377
+
2.1.1
-----
@@ -138,5 +162,3 @@
REQUEST_URI is similar to ``request_uri`` in nginx. It is a string that
contains the request path before separating the query string and
decoding ``%``-escaped characters.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/setup.cfg new/waitress-2.1.2/setup.cfg
--- old/waitress-2.1.1/setup.cfg 2022-03-16 22:34:36.896597900 +0100
+++ new/waitress-2.1.2/setup.cfg 2022-05-30 23:38:47.582001200 +0200
@@ -1,6 +1,6 @@
[metadata]
name = waitress
-version = 2.1.1
+version = 2.1.2
description = Waitress WSGI server
long_description = file: README.rst, CHANGES.txt
long_description_content_type = text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/adjustments.py new/waitress-2.1.2/src/waitress/adjustments.py
--- old/waitress-2.1.1/src/waitress/adjustments.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/adjustments.py 2022-05-30 23:30:25.000000000 +0200
@@ -147,7 +147,7 @@
# TCP port to listen on
port = _int_marker(8080)
- listen = ["{}:{}".format(host, port)]
+ listen = [f"{host}:{port}"]
# number of threads available for tasks
threads = 4
@@ -327,7 +327,7 @@
if not isinstance(self.host, _str_marker) or not isinstance(
self.port, _int_marker
):
- self.listen = ["{}:{}".format(self.host, self.port)]
+ self.listen = [f"{self.host}:{self.port}"]
enabled_families = socket.AF_UNSPEC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/channel.py new/waitress-2.1.2/src/waitress/channel.py
--- old/waitress-2.1.1/src/waitress/channel.py 2022-02-06 19:28:31.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/channel.py 2022-05-30 21:03:51.000000000 +0200
@@ -126,10 +126,10 @@
if self.will_close:
self.handle_close()
- def _flush_exception(self, flush):
+ def _flush_exception(self, flush, do_close=True):
if flush:
try:
- return (flush(), False)
+ return (flush(do_close=do_close), False)
except OSError:
if self.adj.log_socket_errors:
self.logger.exception("Socket error")
@@ -240,20 +240,20 @@
return True
- def _flush_some_if_lockable(self):
+ def _flush_some_if_lockable(self, do_close=True):
# Since our task may be appending to the outbuf, we try to acquire
# the lock, but we don't block if we can't.
if self.outbuf_lock.acquire(False):
try:
- self._flush_some()
+ self._flush_some(do_close=do_close)
if self.total_outbufs_len < self.adj.outbuf_high_watermark:
self.outbuf_lock.notify()
finally:
self.outbuf_lock.release()
- def _flush_some(self):
+ def _flush_some(self, do_close=True):
# Send as much data as possible to our client
sent = 0
@@ -267,7 +267,7 @@
while outbuflen > 0:
chunk = outbuf.get(self.sendbuf_len)
- num_sent = self.send(chunk)
+ num_sent = self.send(chunk, do_close=do_close)
if num_sent:
outbuf.skip(num_sent, True)
@@ -374,7 +374,9 @@
self.total_outbufs_len += num_bytes
if self.total_outbufs_len >= self.adj.send_bytes:
- (flushed, exception) = self._flush_exception(self._flush_some)
+ (flushed, exception) = self._flush_exception(
+ self._flush_some, do_close=False
+ )
if (
exception
@@ -392,7 +394,7 @@
if self.total_outbufs_len > self.adj.outbuf_high_watermark:
with self.outbuf_lock:
- (_, exception) = self._flush_exception(self._flush_some)
+ (_, exception) = self._flush_exception(self._flush_some, do_close=False)
if exception:
# An exception happened while flushing, wake up the main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/parser.py new/waitress-2.1.2/src/waitress/parser.py
--- old/waitress-2.1.1/src/waitress/parser.py 2022-03-16 22:26:39.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/parser.py 2022-05-25 04:06:09.000000000 +0200
@@ -103,7 +103,7 @@
# If the headers have ended, and we also have part of the body
# message in data we still want to validate we aren't going
# over our limit for received headers.
- self.header_bytes_received += index
+ self.header_bytes_received = index
consumed = datalen - (len(s) - index)
else:
self.header_bytes_received += datalen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/proxy_headers.py new/waitress-2.1.2/src/waitress/proxy_headers.py
--- old/waitress-2.1.1/src/waitress/proxy_headers.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/proxy_headers.py 2022-05-30 21:03:51.000000000 +0200
@@ -52,7 +52,7 @@
ex.reason,
ex.value,
)
- error = BadRequest('Header "{}" malformed.'.format(ex.header))
+ error = BadRequest(f'Header "{ex.header}" malformed.')
return error.wsgi_response(environ, start_response)
# Clear out the untrusted proxy headers
@@ -95,7 +95,7 @@
if "." not in forward_hop and (
":" in forward_hop and forward_hop[-1] != "]"
):
- forwarded_for.append("[{}]".format(forward_hop))
+ forwarded_for.append(f"[{forward_hop}]")
else:
forwarded_for.append(forward_hop)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/runner.py new/waitress-2.1.2/src/waitress/runner.py
--- old/waitress-2.1.1/src/waitress/runner.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/runner.py 2022-05-30 21:03:51.000000000 +0200
@@ -198,7 +198,7 @@
def match(obj_name):
matches = RUNNER_PATTERN.match(obj_name)
if not matches:
- raise ValueError("Malformed application '{}'".format(obj_name))
+ raise ValueError(f"Malformed application '{obj_name}'")
return matches.group("module"), matches.group("object")
@@ -223,7 +223,7 @@
def show_help(stream, name, error=None): # pragma: no cover
if error is not None:
- print("Error: {}\n".format(error), file=stream)
+ print(f"Error: {error}\n", file=stream)
print(HELP.format(name), file=stream)
@@ -239,7 +239,7 @@
if args:
print("It had these arguments: ", file=stream)
for idx, arg in enumerate(args, start=1):
- print("{}. {}\n".format(idx, arg), file=stream)
+ print(f"{idx}. {arg}\n", file=stream)
else:
print("It had no arguments.", file=stream)
@@ -282,11 +282,11 @@
try:
app = resolve(module, obj_name)
except ImportError:
- show_help(sys.stderr, name, "Bad module '{}'".format(module))
+ show_help(sys.stderr, name, f"Bad module '{module}'")
show_exception(sys.stderr)
return 1
except AttributeError:
- show_help(sys.stderr, name, "Bad object name '{}'".format(obj_name))
+ show_help(sys.stderr, name, f"Bad object name '{obj_name}'")
show_exception(sys.stderr)
return 1
if kw["call"]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/server.py new/waitress-2.1.2/src/waitress/server.py
--- old/waitress-2.1.1/src/waitress/server.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/server.py 2022-05-30 21:03:51.000000000 +0200
@@ -157,7 +157,7 @@
l = list(l)
if ":" in l[0]:
- l[0] = "[{}]".format(l[0])
+ l[0] = f"[{l[0]}]"
self.log_info(format_str.format(*l))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/task.py new/waitress-2.1.2/src/waitress/task.py
--- old/waitress-2.1.1/src/waitress/task.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/task.py 2022-05-30 21:03:51.000000000 +0200
@@ -57,7 +57,7 @@
def start_new_thread(self, target, thread_no):
t = threading.Thread(
- target=target, name="waitress-{}".format(thread_no), args=(thread_no,)
+ target=target, name=f"waitress-{thread_no}", args=(thread_no,)
)
t.daemon = True
t.start()
@@ -266,7 +266,7 @@
self.response_headers = response_headers
- first_line = "HTTP/%s %s" % (self.version, self.status)
+ first_line = f"HTTP/{self.version} {self.status}"
# NB: sorting headers needs to preserve same-named-header order
# as per RFC 2616 section 4.2; thus the key=lambda x: x[0] here;
# rely on stable sort to keep relative position of same-named headers
@@ -355,7 +355,7 @@
self.response_headers.append(("Connection", "close"))
self.close_on_finish = True
self.content_length = len(body)
- self.write(body.encode("latin-1"))
+ self.write(body)
class WSGITask(Task):
@@ -400,11 +400,11 @@
for k, v in headers:
if not k.__class__ is str:
raise AssertionError(
- "Header name %r is not a string in %r" % (k, (k, v))
+ f"Header name {k!r} is not a string in {(k, v)!r}"
)
if not v.__class__ is str:
raise AssertionError(
- "Header value %r is not a string in %r" % (v, (k, v))
+ f"Header value {v!r} is not a string in {(k, v)!r}"
)
if "\n" in v or "\r" in v:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/trigger.py new/waitress-2.1.2/src/waitress/trigger.py
--- old/waitress-2.1.1/src/waitress/trigger.py 2022-02-06 19:28:31.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/trigger.py 2022-05-30 21:03:51.000000000 +0200
@@ -106,9 +106,7 @@
thunk()
except:
nil, t, v, tbinfo = wasyncore.compact_traceback()
- self.log_info(
- "exception in trigger thunk: (%s:%s %s)" % (t, v, tbinfo)
- )
+ self.log_info(f"exception in trigger thunk: ({t}:{v} {tbinfo})")
self.thunks = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/utilities.py new/waitress-2.1.2/src/waitress/utilities.py
--- old/waitress-2.1.1/src/waitress/utilities.py 2022-03-16 22:26:39.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/utilities.py 2022-05-30 21:03:51.000000000 +0200
@@ -259,11 +259,11 @@
self.body = body
def to_response(self):
- status = "%s %s" % (self.code, self.reason)
- body = "%s\r\n\r\n%s" % (self.reason, self.body)
+ status = f"{self.code} {self.reason}"
+ body = f"{self.reason}\r\n\r\n{self.body}"
tag = "\r\n\r\n(generated by waitress)"
- body = body + tag
- headers = [("Content-Type", "text/plain")]
+ body = (body + tag).encode("utf-8")
+ headers = [("Content-Type", "text/plain; charset=utf-8")]
return status, headers, body
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress/wasyncore.py new/waitress-2.1.2/src/waitress/wasyncore.py
--- old/waitress-2.1.1/src/waitress/wasyncore.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/src/waitress/wasyncore.py 2022-05-30 21:03:51.000000000 +0200
@@ -328,7 +328,7 @@
status.append("%s:%d" % self.addr)
except TypeError: # pragma: no cover
status.append(repr(self.addr))
- return "<%s at %#x>" % (" ".join(status), id(self))
+ return "<{} at {:#x}>".format(" ".join(status), id(self))
__str__ = __repr__
@@ -426,7 +426,7 @@
else:
return conn, addr
- def send(self, data):
+ def send(self, data, do_close=True):
try:
result = self.socket.send(data)
return result
@@ -434,7 +434,8 @@
if why.args[0] == EWOULDBLOCK:
return 0
elif why.args[0] in _DISCONNECTED:
- self.handle_close()
+ if do_close:
+ self.handle_close()
return 0
else:
raise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress.egg-info/PKG-INFO new/waitress-2.1.2/src/waitress.egg-info/PKG-INFO
--- old/waitress-2.1.1/src/waitress.egg-info/PKG-INFO 2022-03-16 22:34:36.000000000 +0100
+++ new/waitress-2.1.2/src/waitress.egg-info/PKG-INFO 2022-05-30 23:38:47.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: waitress
-Version: 2.1.1
+Version: 2.1.2
Summary: Waitress WSGI server
Home-page: https://github.com/Pylons/waitress
Author: Zope Foundation and Contributors
@@ -12,7 +12,6 @@
Project-URL: Changelog, https://docs.pylonsproject.org/projects/waitress/en/latest/index.html#chang…
Project-URL: Issue Tracker, https://github.com/Pylons/waitress/issues
Keywords: waitress wsgi server http
-Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
@@ -61,6 +60,31 @@
For more information, see the "docs" directory of the Waitress package or visit
https://docs.pylonsproject.org/projects/waitress/en/latest/
+2.1.2
+-----
+
+Bugfix
+~~~~~~
+
+- When expose_tracebacks is enabled waitress would fail to properly encode
+ unicode thereby causing another error during error handling. See
+ https://github.com/Pylons/waitress/pull/378
+
+- Header length checking had a calculation that was done incorrectly when the
+ data was received across multple socket reads. This calculation has been
+ corrected, and no longer will Waitress send back a 413 Request Entity Too
+ Large. See https://github.com/Pylons/waitress/pull/376
+
+Security Bugfix
+~~~~~~~~~~~~~~~
+
+- in 2.1.0 a new feature was introduced that allowed the WSGI thread to start
+ sending data to the socket. However this introduced a race condition whereby
+ a socket may be closed in the sending thread while the main thread is about
+ to call select() therey causing the entire application to be taken down.
+ Waitress will no longer close the socket in the WSGI thread, instead waking
+ up the main thread to cleanup. See https://github.com/Pylons/waitress/pull/377
+
2.1.1
-----
@@ -138,5 +162,3 @@
REQUEST_URI is similar to ``request_uri`` in nginx. It is a string that
contains the request path before separating the query string and
decoding ``%``-escaped characters.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/src/waitress.egg-info/SOURCES.txt new/waitress-2.1.2/src/waitress.egg-info/SOURCES.txt
--- old/waitress-2.1.1/src/waitress.egg-info/SOURCES.txt 2022-03-16 22:34:36.000000000 +0100
+++ new/waitress-2.1.2/src/waitress.egg-info/SOURCES.txt 2022-05-30 23:38:47.000000000 +0200
@@ -72,6 +72,7 @@
tests/fixtureapps/badcl.py
tests/fixtureapps/echo.py
tests/fixtureapps/error.py
+tests/fixtureapps/error_traceback.py
tests/fixtureapps/filewrapper.py
tests/fixtureapps/getline.py
tests/fixtureapps/groundhog1.jpg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/fixtureapps/error_traceback.py new/waitress-2.1.2/tests/fixtureapps/error_traceback.py
--- old/waitress-2.1.1/tests/fixtureapps/error_traceback.py 1970-01-01 01:00:00.000000000 +0100
+++ new/waitress-2.1.2/tests/fixtureapps/error_traceback.py 2022-05-25 04:06:09.000000000 +0200
@@ -0,0 +1,2 @@
+def app(environ, start_response): # pragma: no cover
+ raise ValueError("Invalid application: " + chr(8364))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/test_channel.py new/waitress-2.1.2/tests/test_channel.py
--- old/waitress-2.1.1/tests/test_channel.py 2022-02-06 19:28:31.000000000 +0100
+++ new/waitress-2.1.2/tests/test_channel.py 2022-05-30 21:03:51.000000000 +0200
@@ -376,7 +376,7 @@
inst.total_outbufs_len = len(inst.outbufs[0])
inst.adj.send_bytes = 1
inst.adj.outbuf_high_watermark = 2
- sock.send = lambda x: False
+ sock.send = lambda x, do_close=True: False
inst.will_close = False
inst.last_activity = 0
result = inst.handle_write()
@@ -453,7 +453,7 @@
buf = DummyHugeOutbuffer()
inst.outbufs = [buf]
- inst.send = lambda *arg: 0
+ inst.send = lambda *arg, do_close: 0
result = inst._flush_some()
# we are testing that _flush_some doesn't raise an OverflowError
# when one of its outbufs has a __len__ that returns gt sys.maxint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/test_functional.py new/waitress-2.1.2/tests/test_functional.py
--- old/waitress-2.1.1/tests/test_functional.py 2022-03-16 22:26:39.000000000 +0100
+++ new/waitress-2.1.2/tests/test_functional.py 2022-05-25 04:06:09.000000000 +0200
@@ -359,7 +359,7 @@
sorted(headers.keys()),
["connection", "content-length", "content-type", "date", "server"],
)
- self.assertEqual(headers["content-type"], "text/plain")
+ self.assertEqual(headers["content-type"], "text/plain; charset=utf-8")
# connection has been closed
self.send_check_error(to_send)
self.assertRaises(ConnectionClosed, read_http, fp)
@@ -381,7 +381,7 @@
sorted(headers.keys()),
["connection", "content-length", "content-type", "date", "server"],
)
- self.assertEqual(headers["content-type"], "text/plain")
+ self.assertEqual(headers["content-type"], "text/plain; charset=utf-8")
# connection has been closed
self.send_check_error(to_send)
self.assertRaises(ConnectionClosed, read_http, fp)
@@ -403,7 +403,7 @@
sorted(headers.keys()),
["connection", "content-length", "content-type", "date", "server"],
)
- self.assertEqual(headers["content-type"], "text/plain")
+ self.assertEqual(headers["content-type"], "text/plain; charset=utf-8")
# connection has been closed
self.send_check_error(to_send)
self.assertRaises(ConnectionClosed, read_http, fp)
@@ -428,7 +428,7 @@
sorted(headers.keys()),
["connection", "content-length", "content-type", "date", "server"],
)
- self.assertEqual(headers["content-type"], "text/plain")
+ self.assertEqual(headers["content-type"], "text/plain; charset=utf-8")
# connection has been closed
self.send_check_error(to_send)
self.assertRaises(ConnectionClosed, read_http, fp)
@@ -1121,7 +1121,7 @@
self.assertline(line, "413", "Request Entity Too Large", "HTTP/1.1")
cl = int(headers["content-length"])
self.assertEqual(cl, len(response_body))
- self.assertEqual(headers["content-type"], "text/plain")
+ self.assertEqual(headers["content-type"], "text/plain; charset=utf-8")
# connection has been closed
self.send_check_error(to_send)
self.assertRaises(ConnectionClosed, read_http, fp)
@@ -1269,6 +1269,49 @@
self.assertRaises(ConnectionClosed, read_http, fp)
+class InternalServerErrorTestsWithTraceback:
+ def setUp(self):
+ from tests.fixtureapps import error_traceback
+
+ self.start_subprocess(error_traceback.app, expose_tracebacks=True)
+
+ def tearDown(self):
+ self.stop_subprocess()
+
+ def test_expose_tracebacks_http_10(self):
+ to_send = b"GET / HTTP/1.0\r\n\r\n"
+ self.connect()
+ self.sock.send(to_send)
+ with self.sock.makefile("rb", 0) as fp:
+ line, headers, response_body = read_http(fp)
+ self.assertline(line, "500", "Internal Server Error", "HTTP/1.0")
+ cl = int(headers["content-length"])
+ self.assertEqual(cl, len(response_body))
+ self.assertTrue(response_body.startswith(b"Internal Server Error"))
+ self.assertEqual(headers["connection"], "close")
+ # connection has been closed
+ self.send_check_error(to_send)
+ self.assertRaises(ConnectionClosed, read_http, fp)
+
+ def test_expose_tracebacks_http_11(self):
+ to_send = b"GET / HTTP/1.1\r\n\r\n"
+ self.connect()
+ self.sock.send(to_send)
+ with self.sock.makefile("rb", 0) as fp:
+ line, headers, response_body = read_http(fp)
+ self.assertline(line, "500", "Internal Server Error", "HTTP/1.1")
+ cl = int(headers["content-length"])
+ self.assertEqual(cl, len(response_body))
+ self.assertTrue(response_body.startswith(b"Internal Server Error"))
+ self.assertEqual(
+ sorted(headers.keys()),
+ ["connection", "content-length", "content-type", "date", "server"],
+ )
+ # connection has been closed
+ self.send_check_error(to_send)
+ self.assertRaises(ConnectionClosed, read_http, fp)
+
+
class FileWrapperTests:
def setUp(self):
from tests.fixtureapps import filewrapper
@@ -1538,6 +1581,12 @@
pass
+class TcpInternalServerErrorTestsWithTraceback(
+ InternalServerErrorTestsWithTraceback, TcpTests, unittest.TestCase
+):
+ pass
+
+
class TcpFileWrapperTests(FileWrapperTests, TcpTests, unittest.TestCase):
pass
@@ -1604,6 +1653,11 @@
):
pass
+ class UnixInternalServerErrorTestsWithTraceback(
+ InternalServerErrorTestsWithTraceback, UnixTests, unittest.TestCase
+ ):
+ pass
+
class UnixFileWrapperTests(FileWrapperTests, UnixTests, unittest.TestCase):
pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/test_parser.py new/waitress-2.1.2/tests/test_parser.py
--- old/waitress-2.1.1/tests/test_parser.py 2022-03-16 22:26:39.000000000 +0100
+++ new/waitress-2.1.2/tests/test_parser.py 2022-05-25 04:06:09.000000000 +0200
@@ -106,6 +106,18 @@
self.assertTrue(self.parser.completed)
self.assertTrue(isinstance(self.parser.error, RequestEntityTooLarge))
+ def test_received_headers_not_too_large_multiple_chunks(self):
+
+ data = b"GET /foobar HTTP/8.4\r\nX-Foo: 1\r\n"
+ data2 = b"X-Foo-Other: 3\r\n\r\n"
+ self.parser.adj.max_request_header_size = len(data) + len(data2) + 1
+ result = self.parser.received(data)
+ self.assertEqual(result, 32)
+ result = self.parser.received(data2)
+ self.assertEqual(result, 18)
+ self.assertTrue(self.parser.completed)
+ self.assertFalse(self.parser.error)
+
def test_received_headers_too_large(self):
self.parser.adj.max_request_header_size = 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/test_proxy_headers.py new/waitress-2.1.2/tests/test_proxy_headers.py
--- old/waitress-2.1.1/tests/test_proxy_headers.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/tests/test_proxy_headers.py 2022-05-25 04:06:09.000000000 +0200
@@ -16,7 +16,7 @@
response.headers = response_headers
response.steps = list(app(environ, start_response))
- response.body = b"".join(s.encode("latin-1") for s in response.steps)
+ response.body = b"".join(s for s in response.steps)
return response
def test_get_environment_values_w_scheme_override_untrusted(self):
@@ -727,7 +727,7 @@
def __call__(self, environ, start_response):
self.environ = environ
start_response("200 OK", [("Content-Type", "text/plain")])
- yield "hello"
+ yield b"hello"
class DummyResponse:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/test_task.py new/waitress-2.1.2/tests/test_task.py
--- old/waitress-2.1.1/tests/test_task.py 2022-01-14 03:57:32.000000000 +0100
+++ new/waitress-2.1.2/tests/test_task.py 2022-05-25 04:06:09.000000000 +0200
@@ -869,7 +869,7 @@
self.assertEqual(lines[0], b"HTTP/1.0 432 Too Ugly")
self.assertEqual(lines[1], b"Connection: close")
self.assertEqual(lines[2], b"Content-Length: 43")
- self.assertEqual(lines[3], b"Content-Type: text/plain")
+ self.assertEqual(lines[3], b"Content-Type: text/plain; charset=utf-8")
self.assertTrue(lines[4])
self.assertEqual(lines[5], b"Server: waitress")
self.assertEqual(lines[6], b"Too Ugly")
@@ -885,7 +885,7 @@
self.assertEqual(lines[0], b"HTTP/1.1 432 Too Ugly")
self.assertEqual(lines[1], b"Connection: close")
self.assertEqual(lines[2], b"Content-Length: 43")
- self.assertEqual(lines[3], b"Content-Type: text/plain")
+ self.assertEqual(lines[3], b"Content-Type: text/plain; charset=utf-8")
self.assertTrue(lines[4])
self.assertEqual(lines[5], b"Server: waitress")
self.assertEqual(lines[6], b"Too Ugly")
@@ -902,7 +902,7 @@
self.assertEqual(lines[0], b"HTTP/1.1 432 Too Ugly")
self.assertEqual(lines[1], b"Connection: close")
self.assertEqual(lines[2], b"Content-Length: 43")
- self.assertEqual(lines[3], b"Content-Type: text/plain")
+ self.assertEqual(lines[3], b"Content-Type: text/plain; charset=utf-8")
self.assertTrue(lines[4])
self.assertEqual(lines[5], b"Server: waitress")
self.assertEqual(lines[6], b"Too Ugly")
@@ -919,7 +919,7 @@
self.assertEqual(lines[0], b"HTTP/1.1 432 Too Ugly")
self.assertEqual(lines[1], b"Connection: close")
self.assertEqual(lines[2], b"Content-Length: 43")
- self.assertEqual(lines[3], b"Content-Type: text/plain")
+ self.assertEqual(lines[3], b"Content-Type: text/plain; charset=utf-8")
self.assertTrue(lines[4])
self.assertEqual(lines[5], b"Server: waitress")
self.assertEqual(lines[6], b"Too Ugly")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-2.1.1/tests/test_wasyncore.py new/waitress-2.1.2/tests/test_wasyncore.py
--- old/waitress-2.1.1/tests/test_wasyncore.py 2022-03-13 01:58:54.000000000 +0100
+++ new/waitress-2.1.2/tests/test_wasyncore.py 2022-05-30 21:03:51.000000000 +0200
@@ -31,7 +31,7 @@
else:
TESTFN = "@test"
-TESTFN = "{}_{}_tmp".format(TESTFN, os.getpid())
+TESTFN = f"{TESTFN}_{os.getpid()}_tmp"
class DummyLogger: # pragma: no cover
@@ -574,7 +574,7 @@
self.assertEqual(function, "test_compact_traceback")
self.assertEqual(t, real_t)
self.assertEqual(v, real_v)
- self.assertEqual(info, "[%s|%s|%s]" % (f, function, line))
+ self.assertEqual(info, f"[{f}|{function}|{line}]")
class DispatcherTests(unittest.TestCase):
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-scikit-learn for openSUSE:Factory checked in at 2022-06-01 17:34:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-scikit-learn (Old)
and /work/SRC/openSUSE:Factory/.python-scikit-learn.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scikit-learn"
Wed Jun 1 17:34:09 2022 rev:17 rq:980051 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-scikit-learn/python-scikit-learn.changes 2022-02-03 23:16:46.340495692 +0100
+++ /work/SRC/openSUSE:Factory/.python-scikit-learn.new.1548/python-scikit-learn.changes 2022-06-01 17:34:22.878720900 +0200
@@ -1,0 +2,54 @@
+Tue May 31 03:09:03 UTC 2022 - Arun Persaud <arun(a)gmx.de>
+
+- specfile
+ * updated numpy, scipy, and matplotlib requirements
+
+- update to version 1.1.1:
+ * Enhancement The error message is improved when importing
+ model_selection.HalvingGridSearchCV,
+ model_selection.HalvingRandomSearchCV, or impute.IterativeImputer
+ without importing the experimental flag. #23194 by Thomas Fan.
+ * Enhancement Added an extension in doc/conf.py to automatically
+ generate the list of estimators that handle NaN values. #23198 by
+ Lise Kleiber, Zhehao Liu and Chiara Marmo.
+ * sklearn.datasets
+ + Fix Avoid timeouts in datasets.fetch_openml by not passing a
+ timeout argument, #23358 by Lo��c Est��ve.
+ * sklearn.decomposition
+ + Fix Avoid spurious warning in decomposition.IncrementalPCA when
+ n_samples == n_components. #23264 by Lucy Liu.
+ * sklearn.feature_selection
+ + Fix The partial_fit method of feature_selection.SelectFromModel
+ now conducts validation for max_features and feature_names_in
+ parameters. #23299 by Long Bao.
+ * sklearn.metrics
+ + Fix Fixes metrics.precision_recall_curve to compute
+ precision-recall at 100% recall. The Precision-Recall curve now
+ displays the last point corresponding to a classifier that
+ always predicts the positive class: recall=100% and
+ precision=class balance. #23214 by St��phane Collot and Max Baak.
+ * sklearn.preprocessing
+ + Fix preprocessing.PolynomialFeatures with degree equal to 0 will
+ raise error when include_bias is set to False, and outputs a
+ single constant array when include_bias is set to True. #23370
+ by Zhehao Liu.
+ * sklearn.tree
+ + Fix Fixes performance regression with low cardinality features
+ for tree.DecisionTreeClassifier, tree.DecisionTreeRegressor,
+ ensemble.RandomForestClassifier, ensemble.RandomForestRegressor,
+ ensemble.GradientBoostingClassifier, and
+ ensemble.GradientBoostingRegressor. #23410 by Lo��c Est��ve.
+ * sklearn.utils
+ + Fix utils.class_weight.compute_sample_weight now works with
+ sparse y. #23115 by kernc.
+
+- changes from version 1.1.0:
+long changelog, see https://scikit-learn.org/stable/whats_new/v1.1.html#version-1-1-0
+
+-------------------------------------------------------------------
+Mon May 30 10:40:34 UTC 2022 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Split up to using multibuild per Python version since the test suite
+ may take a while.
+
+-------------------------------------------------------------------
Old:
----
scikit-learn-1.0.2.tar.gz
New:
----
_multibuild
scikit-learn-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-scikit-learn.spec ++++++
--- /var/tmp/diff_new_pack.mu7KPr/_old 2022-06-01 17:34:23.662721827 +0200
+++ /var/tmp/diff_new_pack.mu7KPr/_new 2022-06-01 17:34:23.670721836 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package python-scikit-learn
+# spec file
#
# Copyright (c) 2022 SUSE LLC
#
@@ -18,9 +18,32 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test-py38"
+%define psuffix -test-py38
+%define skip_python39 1
+%define skip_python310 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py39"
+%define psuffix -test-py39
+%define skip_python38 1
+%define skip_python310 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py310"
+%define psuffix -test-py310
+%define skip_python38 1
+%define skip_python39 1
+%bcond_without test
+%endif
+%if "%{flavor}" == ""
+%define psuffix %{nil}
+%bcond_with test
+%endif
%bcond_with extratest
-Name: python-scikit-learn
-Version: 1.0.2
+Name: python-scikit-learn%{psuffix}
+Version: 1.1.1
Release: 0
Summary: Python modules for machine learning and data mining
License: BSD-3-Clause
@@ -29,8 +52,8 @@
BuildRequires: %{python_module Cython >= 0.28.5}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module joblib >= 0.11}
-BuildRequires: %{python_module numpy-devel >= 1.14.6}
-BuildRequires: %{python_module scipy >= 1.1.0}
+BuildRequires: %{python_module numpy-devel >= 1.17.3}
+BuildRequires: %{python_module scipy >= 1.3.2}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module threadpoolctl >= 2.0.0}
BuildRequires: %{python_module xml}
@@ -40,24 +63,27 @@
BuildRequires: openblas-devel
BuildRequires: python-rpm-macros
Requires: python-joblib >= 0.11
-Requires: python-numpy >= 1.14.6
-Requires: python-scipy >= 1.0.0
+Requires: python-numpy >= 1.17.3
+Requires: python-scipy >= 1.3.2
Requires: python-threadpoolctl >= 2.0.0
Requires: python-xml
-Provides: python-sklearn
Suggests: python-matplotlib
Suggests: python-pandas
Suggests: python-seaborn
+Provides: python-sklearn
%if "%{python_flavor}" == "python3" || "%{?python_provides}" == "python3"
Provides: sklearn
%endif
# SECTION test requirements
+%if %{with test}
BuildRequires: %{python_module pytest >= 4.0}
+BuildRequires: %{python_module scikit-learn}
%if %{with extratest}
-BuildRequires: %{python_module matplotlib >= 2.1.1}
+BuildRequires: %{python_module matplotlib >= 3.1.2}
BuildRequires: %{python_module pandas >= 0.25.0}
BuildRequires: %{python_module scikit-image >= 0.13}
%endif
+%endif
# /SECTION
%python_subpackages
@@ -71,12 +97,17 @@
rm -rf sklearn/.pytest_cache
%build
+%if !%{with test}
%python_build
+%endif
%install
+%if !%{with test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
+%endif
+%if %{with test}
# Precision-related errors on non-x86 platforms
%ifarch %{ix86} x86_64
%check
@@ -97,14 +128,17 @@
mkdir test_dir
pushd test_dir
-%pytest_arch -p no:cacheprovider -v -k "not ($NO_TESTS)" %{buildroot}%{$python_sitearch}/sklearn
+%pytest_arch -p no:cacheprovider -v -k "not ($NO_TESTS)" %{$python_sitearch}/sklearn
popd
%endif
+%endif
+%if !%{with test}
%files %{python_files}
%license COPYING
%doc README.rst
%{python_sitearch}/sklearn/
%{python_sitearch}/scikit_learn-%{version}*-info
+%endif
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>test-py38</package>
<package>test-py39</package>
<package>test-py310</package>
</multibuild>
++++++ scikit-learn-1.0.2.tar.gz -> scikit-learn-1.1.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-scikit-learn/scikit-learn-1.0.2.tar.gz /work/SRC/openSUSE:Factory/.python-scikit-learn.new.1548/scikit-learn-1.1.1.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package evolution-ews for openSUSE:Factory checked in at 2022-06-01 17:34:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evolution-ews (Old)
and /work/SRC/openSUSE:Factory/.evolution-ews.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "evolution-ews"
Wed Jun 1 17:34:08 2022 rev:125 rq:980039 version:3.44.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/evolution-ews/evolution-ews.changes 2022-05-04 15:10:43.624140774 +0200
+++ /work/SRC/openSUSE:Factory/.evolution-ews.new.1548/evolution-ews.changes 2022-06-01 17:34:21.898719742 +0200
@@ -1,0 +2,11 @@
+Mon May 30 11:43:24 UTC 2022 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Update to version 3.44.2:
+ + Miscellaneous:
+ - build: Limit which parts link to the evolution libraries.
+ - EWS registry backend: Handle gracefully when Host URL is not
+ set.
+ + Updated translations.
+- Drop evolution-ews-fix-gtk-linkage.patch: fixed upstream.
+
+-------------------------------------------------------------------
Old:
----
evolution-ews-3.44.1.tar.xz
evolution-ews-fix-gtk-linkage.patch
New:
----
evolution-ews-3.44.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ evolution-ews.spec ++++++
--- /var/tmp/diff_new_pack.LQyd9M/_old 2022-06-01 17:34:22.350720276 +0200
+++ /var/tmp/diff_new_pack.LQyd9M/_new 2022-06-01 17:34:22.358720286 +0200
@@ -20,15 +20,13 @@
%define _version %(echo %{version} | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+')
Name: evolution-ews
-Version: 3.44.1
+Version: 3.44.2
Release: 0
Summary: Exchange Connector for Evolution, compatible with Exchange 2007 and later
License: LGPL-2.1-only
Group: Productivity/Networking/Email/Clients
URL: https://wiki.gnome.org/Apps/Evolution
Source0: https://download.gnome.org/sources/evolution-ews/3.44/%{name}-%{version}.ta…
-# PATCH-FIX-UPSTREAM evolution-ews-fix-gtk-linkage.patch mgorse(a)suse.com -- fix for gnome-contacts being unable to launch.
-Patch0: evolution-ews-fix-gtk-linkage.patch
BuildRequires: c++_compiler
BuildRequires: cmake
++++++ evolution-ews-3.44.1.tar.xz -> evolution-ews-3.44.2.tar.xz ++++++
++++ 3508 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nautilus for openSUSE:Factory checked in at 2022-06-01 17:34:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nautilus (Old)
and /work/SRC/openSUSE:Factory/.nautilus.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nautilus"
Wed Jun 1 17:34:07 2022 rev:196 rq:980038 version:42.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/nautilus/nautilus.changes 2022-04-30 00:45:11.970933796 +0200
+++ /work/SRC/openSUSE:Factory/.nautilus.new.1548/nautilus.changes 2022-06-01 17:34:20.050717559 +0200
@@ -1,0 +2,9 @@
+Mon May 30 11:30:58 UTC 2022 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Update to version 42.2:
+ + Close broken link message dialog on response.
+ + Fix crash when opening new window from pathbar.
+ + Fix remote filesystem check.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
nautilus-42.1.1.tar.xz
New:
----
nautilus-42.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nautilus.spec ++++++
--- /var/tmp/diff_new_pack.j4aGp1/_old 2022-06-01 17:34:20.734718367 +0200
+++ /var/tmp/diff_new_pack.j4aGp1/_new 2022-06-01 17:34:20.742718376 +0200
@@ -17,7 +17,7 @@
Name: nautilus
-Version: 42.1.1
+Version: 42.2
Release: 0
Summary: File Manager for the GNOME Desktop
License: GPL-3.0-or-later AND LGPL-2.1-or-later
++++++ nautilus-42.1.1.tar.xz -> nautilus-42.2.tar.xz ++++++
++++ 11529 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mutter for openSUSE:Factory checked in at 2022-06-01 17:34:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutter (Old)
and /work/SRC/openSUSE:Factory/.mutter.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mutter"
Wed Jun 1 17:34:04 2022 rev:186 rq:980037 version:42.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/mutter/mutter.changes 2022-05-18 13:12:44.190638676 +0200
+++ /work/SRC/openSUSE:Factory/.mutter.new.1548/mutter.changes 2022-06-01 17:34:17.734714822 +0200
@@ -1,0 +2,13 @@
+Mon May 30 11:35:40 UTC 2022 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Update to version 42.2:
+ + Don't use direct scanout for transparent windows.
+ + Fix initialization of privacy mode in displays that support it.
+ + Fix --replace again.
+ + Improve picking a window for direct scanout.
+ + Do not allow windows to steal focus when the shell has a grab.
+ + Fix night light without GAMMA_LUT property.
+ + Fixed crash.
+ + Misc. bug fixes.
+
+-------------------------------------------------------------------
Old:
----
mutter-42.1.obscpio
New:
----
mutter-42.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mutter.spec ++++++
--- /var/tmp/diff_new_pack.mzyc8s/_old 2022-06-01 17:34:19.670717110 +0200
+++ /var/tmp/diff_new_pack.mzyc8s/_new 2022-06-01 17:34:19.678717119 +0200
@@ -22,7 +22,7 @@
%define api_minor 0
%define libmutter libmutter-%{api_major}-%{api_minor}
Name: mutter
-Version: 42.1
+Version: 42.2
Release: 0
Summary: Window and compositing manager based on Clutter
License: GPL-2.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.mzyc8s/_old 2022-06-01 17:34:19.718717167 +0200
+++ /var/tmp/diff_new_pack.mzyc8s/_new 2022-06-01 17:34:19.722717171 +0200
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
- <param name="revision">refs/tags/42.1</param>
+ <param name="revision">refs/tags/42.2</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
++++++ mutter-42.1.obscpio -> mutter-42.2.obscpio ++++++
/work/SRC/openSUSE:Factory/mutter/mutter-42.1.obscpio /work/SRC/openSUSE:Factory/.mutter.new.1548/mutter-42.2.obscpio differ: char 49, line 1
++++++ mutter.obsinfo ++++++
--- /var/tmp/diff_new_pack.mzyc8s/_old 2022-06-01 17:34:19.790717251 +0200
+++ /var/tmp/diff_new_pack.mzyc8s/_new 2022-06-01 17:34:19.794717256 +0200
@@ -1,5 +1,5 @@
name: mutter
-version: 42.1
-mtime: 1651777298
-commit: 94bd385bf3ece2a746d8755049fc1fa5c8c0a808
+version: 42.2
+mtime: 1653764569
+commit: 10cece870cf25c15daa8b20130d328257ec5f132
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gvfs for openSUSE:Factory checked in at 2022-06-01 17:34:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gvfs (Old)
and /work/SRC/openSUSE:Factory/.gvfs.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gvfs"
Wed Jun 1 17:34:04 2022 rev:179 rq:980036 version:1.50.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gvfs/gvfs.changes 2022-04-30 00:45:27.538947297 +0200
+++ /work/SRC/openSUSE:Factory/.gvfs.new.1548/gvfs.changes 2022-06-01 17:34:15.798712535 +0200
@@ -1,0 +2,8 @@
+Mon May 30 11:33:43 UTC 2022 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Update to version 1.50.2:
+ + smb: Rework anonymous handling to avoid EINVAL.
+ + http: Unescape prefix to fix handling of encoded URIs.
+ + build: Fix build without Avahi support.
+
+-------------------------------------------------------------------
Old:
----
gvfs-1.50.1.tar.xz
New:
----
gvfs-1.50.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gvfs.spec ++++++
--- /var/tmp/diff_new_pack.P3VIZx/_old 2022-06-01 17:34:16.338713173 +0200
+++ /var/tmp/diff_new_pack.P3VIZx/_new 2022-06-01 17:34:16.342713177 +0200
@@ -18,7 +18,7 @@
%bcond_without cdda
Name: gvfs
-Version: 1.50.1
+Version: 1.50.2
Release: 0
Summary: Virtual File System functionality for GLib
License: GPL-3.0-only AND LGPL-2.0-or-later
++++++ gvfs-1.50.1.tar.xz -> gvfs-1.50.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gvfs-1.50.1/NEWS new/gvfs-1.50.2/NEWS
--- old/gvfs-1.50.1/NEWS 2022-04-22 17:01:38.000000000 +0200
+++ new/gvfs-1.50.2/NEWS 2022-05-26 09:55:28.000000000 +0200
@@ -1,3 +1,9 @@
+Major changes in 1.50.2
+=======================
+* smb: Rework anonymous handling to avoid EINVAL (Ondrej Holy)
+* http: Unescape prefix to fix handling of encoded URIs (Ondrej Holy)
+* build: Fix build without Avahi support (Ondrej Holy)
+
Major changes in 1.50.1
=======================
* dav: Drop user from URI as a workaround for Nextcloud bug (Ondrej Holy)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gvfs-1.50.1/daemon/gvfsbackenddav.c new/gvfs-1.50.2/daemon/gvfsbackenddav.c
--- old/gvfs-1.50.1/daemon/gvfsbackenddav.c 2022-04-22 17:01:38.000000000 +0200
+++ new/gvfs-1.50.2/daemon/gvfsbackenddav.c 2022-05-26 09:55:28.000000000 +0200
@@ -382,15 +382,14 @@
static void
g_vfs_backend_dav_setup_display_name (GVfsBackend *backend)
{
- GVfsBackendDav *dav_backend;
GUri *mount_base;
char *display_name;
char port[7] = {0, };
gint gport;
- dav_backend = G_VFS_BACKEND_DAV (backend);
-
#ifdef HAVE_AVAHI
+ GVfsBackendDav *dav_backend = G_VFS_BACKEND_DAV (backend);
+
if (dav_backend->resolver != NULL)
{
const char *name;
@@ -2378,6 +2377,7 @@
g_vfs_backend_dav_send_async (job->backend, msg_opts, try_mount_opts_cb, job);
}
+#ifdef HAVE_AVAHI
static void
try_mount_resolve_cb (GObject *source, GAsyncResult *result, gpointer user_data)
{
@@ -2404,6 +2404,7 @@
try_mount_send_opts (job);
}
+#endif
static gboolean
try_mount (GVfsBackend *backend,
@@ -2412,17 +2413,18 @@
GMountSource *mount_source,
gboolean is_automount)
{
- GVfsBackendDav *dav_backend = G_VFS_BACKEND_DAV (backend);
GVfsBackendHttp *http_backend = G_VFS_BACKEND_HTTP (backend);
- const char *host;
- const char *type;
g_debug ("+ mount\n");
+#ifdef HAVE_AVAHI
+ GVfsBackendDav *dav_backend = G_VFS_BACKEND_DAV (backend);
+ const char *host;
+ const char *type;
+
host = g_mount_spec_get (mount_spec, "host");
type = g_mount_spec_get (mount_spec, "type");
-#ifdef HAVE_AVAHI
/* resolve DNS-SD style URIs */
if ((strcmp (type, "dav+sd") == 0 || strcmp (type, "davs+sd") == 0) && host != NULL)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gvfs-1.50.1/daemon/gvfsbackendhttp.c new/gvfs-1.50.2/daemon/gvfsbackendhttp.c
--- old/gvfs-1.50.1/daemon/gvfsbackendhttp.c 2022-04-22 17:01:38.000000000 +0200
+++ new/gvfs-1.50.2/daemon/gvfsbackendhttp.c 2022-05-26 09:55:28.000000000 +0200
@@ -307,7 +307,7 @@
real_mount_spec = g_mount_spec_new ("http");
g_mount_spec_set (real_mount_spec, "uri", uri_str);
- path = g_uri_get_path (uri);
+ path = g_uri_unescape_string (g_uri_get_path (uri), "/");
if (path[0])
{
g_free (real_mount_spec->mount_prefix);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gvfs-1.50.1/daemon/gvfsbackendsmb.c new/gvfs-1.50.2/daemon/gvfsbackendsmb.c
--- old/gvfs-1.50.1/daemon/gvfsbackendsmb.c 2022-04-22 17:01:38.000000000 +0200
+++ new/gvfs-1.50.2/daemon/gvfsbackendsmb.c 2022-05-26 09:55:28.000000000 +0200
@@ -78,9 +78,7 @@
GMountSource *mount_source; /* Only used/set during mount */
int mount_try;
- gboolean mount_try_again;
gboolean mount_cancelled;
- gboolean use_anonymous;
gboolean password_in_keyring;
GPasswordSave password_save;
@@ -203,25 +201,14 @@
backend->user == NULL &&
backend->domain == NULL)
{
- /* Try again if kerberos login fails */
- backend->mount_try_again = TRUE;
g_debug ("auth_callback - kerberos pass\n");
}
else if (backend->mount_try == 1 &&
backend->user == NULL &&
backend->domain == NULL)
{
- /* Try again if ccache login fails */
- backend->mount_try_again = TRUE;
g_debug ("auth_callback - ccache pass\n");
}
- else if (backend->use_anonymous)
- {
- /* Try again if anonymous login fails */
- backend->use_anonymous = FALSE;
- backend->mount_try_again = TRUE;
- g_debug ("auth_callback - anonymous login pass\n");
- }
else
{
gboolean in_keyring = FALSE;
@@ -301,13 +288,13 @@
}
}
- /* Try again if this fails */
- backend->mount_try_again = TRUE;
+ smbc_setOptionNoAutoAnonymousLogin (backend->smb_context,
+ !anonymous);
if (anonymous)
{
- backend->use_anonymous = TRUE;
backend->password_save = FALSE;
+ g_debug ("auth_callback - anonymous enabled\n");
}
else
{
@@ -497,7 +484,6 @@
*/
do
{
- op_backend->mount_try_again = FALSE;
op_backend->mount_cancelled = FALSE;
g_debug ("do_mount - try #%d \n", op_backend->mount_try);
@@ -535,15 +521,9 @@
smbc_setOptionFallbackAfterKerberos (op_backend->smb_context, 1);
}
- /* If the AskPassword reply requested anonymous login, enable the
- * anonymous fallback and try again.
- */
- smbc_setOptionNoAutoAnonymousLogin (op_backend->smb_context,
- !op_backend->use_anonymous);
-
op_backend->mount_try ++;
}
- while (op_backend->mount_try_again);
+ while (TRUE);
g_free (uri);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gvfs-1.50.1/meson.build new/gvfs-1.50.2/meson.build
--- old/gvfs-1.50.1/meson.build 2022-04-22 17:01:38.000000000 +0200
+++ new/gvfs-1.50.2/meson.build 2022-05-26 09:55:28.000000000 +0200
@@ -1,6 +1,6 @@
project(
'gvfs', 'c',
- version: '1.50.1',
+ version: '1.50.2',
license: 'LGPL2+',
default_options: 'buildtype=debugoptimized',
meson_version: '>= 0.56.0',
1
0