Chromium Code Reviews| Index: media/tools/constrained_network_server/traffic_control.py |
| diff --git a/media/tools/constrained_network_server/traffic_control.py b/media/tools/constrained_network_server/traffic_control.py |
| index c27a255365b766cdd68ade24204916fc9d02285d..38756776ca98f9818c9c566937eca11ec7af1251 100755 |
| --- a/media/tools/constrained_network_server/traffic_control.py |
| +++ b/media/tools/constrained_network_server/traffic_control.py |
| @@ -9,6 +9,7 @@ Traffic to the constrained port is forwarded to a specified server port. |
| """ |
| import logging |
| +import os |
| import re |
| import subprocess |
| @@ -37,6 +38,22 @@ class TrafficControlError(BaseException): |
| self.error = error |
| +def CheckRequirements(): |
| + """Checks if permissions are available to run traffic control commands. |
| + |
| + Raises: |
| + TrafficControlError: If permissions to run traffic control commands are not |
| + available. |
| + """ |
| + if os.geteuid() != 0: |
| + _Exec(['sudo', '-n', 'tc', '-help'], |
|
Ami GONE FROM CHROMIUM
2012/01/10 22:30:56
Note that this isn't fool-proof; sudo uses an expi
|
| + msg=('Cannot run \'tc\' command. Traffic Control must be run as root ' |
| + 'or have password-less sudo access to this command.')) |
| + _Exec(['sudo', '-n', 'iptables', '-help'], |
| + msg=('Cannot run \'iptables\' command. Traffic Control must be run ' |
| + 'as root or have password-less sudo access to this command.')) |
| + |
| + |
| def CreateConstrainedPort(config): |
| """Creates a new constrained port. |