Browse Source

Added GetBuildInfo to PsiphonTunnel.

Miro Kuratczyk 8 years ago
parent
commit
a03b292cff

+ 7 - 0
MobileLibrary/iOS/PsiphonTunnel/PsiphonTunnel/PsiphonTunnel.h

@@ -365,4 +365,11 @@ typedef NS_ENUM(NSInteger, PsiphonConnectionState)
         uploadServer:(NSString * _Nonnull)uploadServer
         uploadServer:(NSString * _Nonnull)uploadServer
  uploadServerHeaders:(NSString * _Nonnull)uploadServerHeaders;
  uploadServerHeaders:(NSString * _Nonnull)uploadServerHeaders;
 
 
+/*!
+ Provides the tunnel-core build info json as a string. See the tunnel-core build info code for details https://github.com/Psiphon-Labs/psiphon-tunnel-core/blob/master/psiphon/common/buildinfo.go.
+ @return  The build info json as a string.
+ Swift: @code func getBuildInfo() -> String @endcode
+ */
++ (NSString * _Nonnull)getBuildInfo;
+
  @end
  @end

+ 4 - 0
MobileLibrary/iOS/PsiphonTunnel/PsiphonTunnel/PsiphonTunnel.m

@@ -290,6 +290,10 @@
     });
     });
 }
 }
 
 
+// See comment in header.
++ (NSString * _Nonnull)getBuildInfo {
+    return GoPsiGetBuildInfo();
+}
 
 
 #pragma mark - PsiphonTunnel logic implementation methods (private)
 #pragma mark - PsiphonTunnel logic implementation methods (private)
 
 

+ 10 - 0
MobileLibrary/psi/psi.go

@@ -25,6 +25,7 @@ package psi
 // Start/Stop interface on top of a single Controller instance.
 // Start/Stop interface on top of a single Controller instance.
 
 
 import (
 import (
+	"encoding/json"
 	"fmt"
 	"fmt"
 	"sync"
 	"sync"
 
 
@@ -159,6 +160,15 @@ func SendFeedback(configJson, diagnosticsJson, b64EncodedPublicKey, uploadServer
 	}
 	}
 }
 }
 
 
+// Get build info from tunnel-core
+func GetBuildInfo() string {
+	buildInfo, err := json.Marshal(common.GetBuildInfo())
+	if err != nil {
+		return ""
+	}
+	return string(buildInfo)
+}
+
 func GetPacketTunnelMTU() int {
 func GetPacketTunnelMTU() int {
 	return tun.DEFAULT_MTU
 	return tun.DEFAULT_MTU
 }
 }