Opened 4 months ago

Last modified 4 months ago

#30251 needs_revision enhancement

Add the operating system to the bandwidth file headers

Reported by: teor Owned by:
Priority: Medium Milestone: sbws: 1.2.x-final
Component: Core Tor/sbws Version:
Severity: Normal Keywords:
Cc: juga Actual Points:
Parent ID: #30255 Points: 1
Reviewer: Sponsor:

Description

See #30196.

Child Tickets

Change History (3)

comment:1 Changed 4 months ago by teor

Parent ID: #30255

comment:2 Changed 4 months ago by teor

Copied from #30196:

teor:

irl:

For exit lists we are considering using a free-form text field with some suggested formats, e.g. something like "ExitScanner 55.5 using Tor 1.0.0 on Windows 10". If there is later something that affects the specific implementation we can adjust that string without a spec change to report library details.

Unstructured text is a nightmare to parse. Just look at the browser user-agent. Or the Tor ContactInfo field.

If we need something, let's specify it as a separate header.
If we're not sure, then let's leave it out.

juga:

teor:

  • we have asked authority operators about operating systems before
    • but I have never wanted to know kernel versions

What in concrete we would like to know about the operating system?, see options in https://docs.python.org/3/library/platform.html

Let's start with:
platform.platform(aliased=True, terse=True)
https://docs.python.org/3/library/platform.html#platform.platform

Then, if we need more info, we can add it later.

comment:3 Changed 4 months ago by teor

Status: newneeds_revision

Replying to juga:

Reminder to myself: i've implemented the operating system, ssl_version and tor_version in branch https://github.com/juga0/sbws/tree/ticket30196

Here's my review of operating system:

  • "system" is a confusing name, please use "operating_system"
  • platform.platform(aliased=True, terse=True) uses platform.system_alias() to produce names that are better known than platform.system()
  • you added tor_version in two places, but system in one place. Please refactor EXTRA_ARG_KEYVALUES and BANDWIDTH_HEADER_KEY_VALUES_INIT so the headers are consistent.
  • please submit a bandwidth-file-spec patch, so the reviewer knows what your code should do
  • does the "chg: v3bwfile: !refactor, obtain headers from state" commit belong in a separate pull request? It's quite large.
  • please submit each feature in a separate pull request
Note: See TracTickets for help on using tickets.