summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoritchyonion <itchyonion@torproject.org>2022-11-07 15:20:20 -0800
committeritchyonion <itchyonion@torproject.org>2022-11-16 10:08:10 -0800
commit768b80dbdfba8733a614770c93fdbea4d48c7c52 (patch)
treedff6f19cbc787db672cb248ea126719454f4d57f
parent2f55581098ee45a2e19e8272f0130a6447a5f2d0 (diff)
downloadsnowflake-768b80dbdfba8733a614770c93fdbea4d48c7c52.tar.gz
snowflake-768b80dbdfba8733a614770c93fdbea4d48c7c52.zip
Use event logger for proxy starting message and NAT info
-rw-r--r--common/event/interface.go17
-rw-r--r--proxy/lib/pt_event_logger.go2
-rw-r--r--proxy/lib/snowflake.go4
3 files changed, 21 insertions, 2 deletions
diff --git a/common/event/interface.go b/common/event/interface.go
index 968b270..64132e0 100644
--- a/common/event/interface.go
+++ b/common/event/interface.go
@@ -58,6 +58,14 @@ func (e EventOnSnowflakeConnectionFailed) String() string {
return fmt.Sprintf("trying a new proxy: %s", scrubbed)
}
+type EventOnProxyStarting struct {
+ SnowflakeEvent
+}
+
+func (e EventOnProxyStarting) String() string {
+ return "Proxy starting"
+}
+
type EventOnProxyConnectionOver struct {
SnowflakeEvent
InboundTraffic int
@@ -68,6 +76,15 @@ func (e EventOnProxyConnectionOver) String() string {
return fmt.Sprintf("Proxy connection closed (↑ %d, ↓ %d)", e.InboundTraffic, e.OutboundTraffic)
}
+type EventOnCurrentNATTypeDetermined struct {
+ SnowflakeEvent
+ CurNATType string
+}
+
+func (e EventOnCurrentNATTypeDetermined) String() string {
+ return fmt.Sprintf("NAT type: %v", e.CurNATType)
+}
+
type SnowflakeEventReceiver interface {
// OnNewSnowflakeEvent notify receiver about a new event
// This method MUST not block
diff --git a/proxy/lib/pt_event_logger.go b/proxy/lib/pt_event_logger.go
index cb262e4..b16f5ba 100644
--- a/proxy/lib/pt_event_logger.go
+++ b/proxy/lib/pt_event_logger.go
@@ -33,6 +33,8 @@ func (p *logEventLogger) OnNewSnowflakeEvent(e event.SnowflakeEvent) {
p.inboundSum += e.InboundTraffic
p.outboundSum += e.OutboundTraffic
p.connectionCount += 1
+ default:
+ p.logger.Println(e.String())
}
}
diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go
index f8a0f2c..b4ca5c3 100644
--- a/proxy/lib/snowflake.go
+++ b/proxy/lib/snowflake.go
@@ -566,7 +566,7 @@ func (sf *SnowflakeProxy) runSession(sid string) {
func (sf *SnowflakeProxy) Start() error {
var err error
- log.Println("starting")
+ sf.EventDispatcher.OnNewSnowflakeEvent(event.EventOnProxyStarting{})
sf.shutdown = make(chan struct{})
// blank configurations revert to default
@@ -621,7 +621,7 @@ func (sf *SnowflakeProxy) Start() error {
currentNATTypeLoaded := getCurrentNATType()
- log.Printf("NAT type: %s", currentNATTypeLoaded)
+ sf.EventDispatcher.OnNewSnowflakeEvent(&event.EventOnCurrentNATTypeDetermined{CurNATType: currentNATTypeLoaded})
NatRetestTask := task.Periodic{
Interval: sf.NATTypeMeasurementInterval,