Browse Source

Merge https://github.com/efryntov/psiphon-tunnel-core

Rod Hynes 10 years ago
parent
commit
56ee24b658

+ 0 - 18
psiphon/upstreamproxy/go-ntlm/utils/decode_auth.go

@@ -1,18 +0,0 @@
-package main
-
-import (
-	"encoding/base64"
-	"flag"
-	"fmt"
-)
-
-func main() {
-	var ntlmVersion = flag.Int("ntlm", 2, "NTLM version to try: 1 or 2")
-	flag.Parse()
-	var data string
-	fmt.Println("Paste the base64 encoded Authenticate message (with no line breaks):")
-	fmt.Scanf("%s", &data)
-	authenticateData, _ := base64.StdEncoding.DecodeString(data)
-	a, _ := ntlm.ParseAuthenticateMessage(authenticateData, *ntlmVersion)
-	fmt.Printf(a.String())
-}

+ 0 - 87
psiphon/upstreamproxy/go-ntlm/utils/test_auth.go

@@ -1,87 +0,0 @@
-package main
-
-import (
-	"encoding/base64"
-	"fmt"
-	"github.com/ThomsonReutersEikon/go-ntlm/ntlm"
-)
-
-func main() {
-	// ntlm v2
-	//	challengeMessage := "TlRMTVNTUAACAAAAAAAAADgAAABVgphiPXSy0E6+HrMAAAAAAAAAAKIAogA4AAAABQEoCgAAAA8CAA4AUgBFAFUAVABFAFIAUwABABwAVQBLAEIAUAAtAEMAQgBUAFIATQBGAEUAMAA2AAQAFgBSAGUAdQB0AGUAcgBzAC4AbgBlAHQAAwA0AHUAawBiAHAALQBjAGIAdAByAG0AZgBlADAANgAuAFIAZQB1AHQAZQByAHMALgBuAGUAdAAFABYAUgBlAHUAdABlAHIAcwAuAG4AZQB0AAAAAAA="
-	//	authenticateMessage := "TlRMTVNTUAADAAAAGAAYALYAAADSANIAzgAAADQANABIAAAAIAAgAHwAAAAaABoAnAAAABAAEACgAQAAVYKQQgUCzg4AAAAPYQByAHIAYQB5ADEAMgAuAG0AcwBnAHQAcwB0AC4AcgBlAHUAdABlAHIAcwAuAGMAbwBtAHUAcwBlAHIAcwB0AHIAZQBzAHMAMQAwADAAMAAwADgATgBZAEMAVgBBADEAMgBTADIAQwBNAFMAQQBPYrLjU4h0YlWZeEoNvTJtBQMnnJuAeUwsP+vGmAHNRBpgZ+4ChQLqAQEAAAAAAACPFEIFjx7OAQUDJ5ybgHlMAAAAAAIADgBSAEUAVQBUAEUAUgBTAAEAHABVAEsAQgBQAC0AQwBCAFQAUgBNAEYARQAwADYABAAWAFIAZQB1AHQAZQByAHMALgBuAGUAdAADADQAdQBrAGIAcAAtAGMAYgB0AHIAbQBmAGUAMAA2AC4AUgBlAHUAdABlAHIAcwAuAG4AZQB0AAUAFgBSAGUAdQB0AGUAcgBzAC4AbgBlAHQAAAAAAAAAAAANuvnqD3K88ZpjkLleL0NW"
-
-	//LCS v1
-	//challengeMessage := "TlRMTVNTUAACAAAAAAAAADgAAADzgpjid08w9p89DLUAAAAAAAAAAPAA8AA4AAAABQLODgAAAA8CAA4AQQBSAFIAQQBZADEAMgABABYATgBZAEMAUwBNAFMARwA5ADkAMQAyAAQANABhAHIAcgBhAHkAMQAyAC4AbQBzAGcAdABzAHQALgByAGUAdQB0AGUAcgBzAC4AYwBvAG0AAwBMAE4AWQBDAFMATQBTAEcAOQA5ADEAMgAuAGEAcgByAGEAeQAxADIALgBtAHMAZwB0AHMAdAAuAHIAZQB1AHQAZQByAHMALgBjAG8AbQAFADQAYQByAHIAYQB5ADEAMgAuAG0AcwBnAHQAcwB0AC4AcgBlAHUAdABlAHIAcwAuAGMAbwBtAAAAAAA="
-	//authenticateMessage := "TlRMTVNTUAADAAAAGAAYAKwAAAAYABgAxAAAAAAAAABYAAAANgA2AFgAAAAeAB4AjgAAABAAEADcAAAAVYKQYgYBsR0AAAAPUJSCwwcYcGpE0Zp9GsD3RDAANQAwADAANAA1AC4AcgBtAHcAYQB0AGUAcwB0AEAAcgBlAHUAdABlAHIAcwAuAGMAbwBtAFcASQBOAC0AMABEAEQAQQBCAEsAQwAxAFUASQA4ALIsDLYZktr3YlJDLyVT6GHgwNA+DFdM87IsDLYZktr3YlJDLyVT6GHgwNA+DFdM851g+vaa4CHvomwyYmjbB1M="
-
-	//US
-	//challengeMessage := "TlRMTVNTUAACAAAAAAAAADgAAABVgphisF5WgZrWn4MAAAAAAAAAAKIAogA4AAAABQEoCgAAAA8CAA4AUgBFAFUAVABFAFIAUwABABwAVQBLAEIAUAAtAEMAQgBUAFIATQBGAEUAMAA2AAQAFgBSAGUAdQB0AGUAcgBzAC4AbgBlAHQAAwA0AHUAawBiAHAALQBjAGIAdAByAG0AZgBlADAANgAuAFIAZQB1AHQAZQByAHMALgBuAGUAdAAFABYAUgBlAHUAdABlAHIAcwAuAG4AZQB0AAAAAAA="
-	//authenticateMessage := "TlRMTVNTUAADAAAAGAAYAKwAAAAYABgAxAAAAAAAAABYAAAANgA2AFgAAAAeAB4AjgAAABAAEADcAAAAVYKQYgYBsR0AAAAPJc+NGJ4qgACnkkGb9J8RezAANQAwADAANAA1AC4AcgBtAHcAYQB0AGUAcwB0AEAAcgBlAHUAdABlAHIAcwAuAGMAbwBtAFcASQBOAC0AMABEAEQAQQBCAEsAQwAxAFUASQA4AJLPhCq8UHZjb5sEjtoaJtWBY2ZwNZyujpLPhCq8UHZjb5sEjtoaJtWBY2ZwNZyujtW8TsZdZ6PMc1ipWbL7VgY="
-
-	//US again
-	challengeMessage := "TlRMTVNTUAACAAAAAAAAADgAAABVgphiMx43owKH33MAAAAAAAAAAKIAogA4AAAABQEoCgAAAA8CAA4AUgBFAFUAVABFAFIAUwABABwAVQBLAEIAUAAtAEMAQgBUAFIATQBGAEUAMAA2AAQAFgBSAGUAdQB0AGUAcgBzAC4AbgBlAHQAAwA0AHUAawBiAHAALQBjAGIAdAByAG0AZgBlADAANgAuAFIAZQB1AHQAZQByAHMALgBuAGUAdAAFABYAUgBlAHUAdABlAHIAcwAuAG4AZQB0AAAAAAA="
-	authenticateMessage := "TlRMTVNTUAADAAAAGAAYAKwAAAAYABgAxAAAAAAAAABYAAAANgA2AFgAAAAeAB4AjgAAABAAEADcAAAAVYKQYgYBsR0AAAAPukU9WmBJLdSLU2NvXjNgUzAANQAwADAANAA1AC4AcgBtAHcAYQB0AGUAcwB0AEAAcgBlAHUAdABlAHIAcwAuAGMAbwBtAFcASQBOAC0AMABEAEQAQQBCAEsAQwAxAFUASQA4AOLIAEYvI6zgw2+MBf8xHSTZhIfVaKIIFuLIAEYvI6zgw2+MBf8xHSTZhIfVaKIIFroZDwl770tY/oFQk38nnuI="
-
-	server, err := ntlm.CreateServerSession(ntlm.Version2, ntlm.ConnectionlessMode)
-	server.SetUserInfo("050045.rmwatest@reuters.com", "Welcome1", "")
-
-	challengeData, _ := base64.StdEncoding.DecodeString(challengeMessage)
-	c, _ := ntlm.ParseChallengeMessage(challengeData)
-
-	fmt.Println("----- Challenge Message ----- ")
-	fmt.Println(c.String())
-	fmt.Println("----- END Challenge Message ----- ")
-
-	authenticateData, _ := base64.StdEncoding.DecodeString(authenticateMessage)
-	var context ntlm.ServerSession
-
-	msg, err := ntlm.ParseAuthenticateMessage(authenticateData, 2)
-	if err != nil {
-		msg2, newErr := ntlm.ParseAuthenticateMessage(authenticateData, 1)
-		if newErr != nil {
-			fmt.Printf("Error ParseAuthenticateMessage , %s", err)
-			return
-		}
-
-		// Message parsed correctly as NTLMv1 so assume the session is v1 and reset the server session
-		newContext, err := ntlm.CreateServerSession(ntlm.Version1, ntlm.ConnectionlessMode)
-		newContext.SetUserInfo(server.GetUserInfo())
-		if err != nil {
-			fmt.Println("Could not create NTLMv1 session")
-			return
-		}
-
-		// Need the originally generated server challenge so we can process the response
-		newContext.SetServerChallenge(c.ServerChallenge)
-		//	err = server.ProcessAuthenticateMessage(msg)
-		err = newContext.ProcessAuthenticateMessage(msg2)
-		if err != nil {
-			fmt.Printf("Could not process authenticate v1 message: %s\n", err)
-			return
-		}
-		// Set the security context to now be NTLMv1
-		context = newContext
-		fmt.Println("----- Authenticate Message ----- ")
-		fmt.Println(msg2.String())
-		fmt.Println("----- END Authenticate Message ----- ")
-
-	} else {
-		context = server
-		// Need the server challenge to be set
-		server.SetServerChallenge(c.ServerChallenge)
-
-		//	err = server.ProcessAuthenticateMessage(msg)
-		err = context.ProcessAuthenticateMessage(msg)
-		if err != nil {
-			fmt.Printf("Could not process authenticate message: %s\n", err)
-			return
-		}
-		fmt.Println("----- Authenticate Message ----- ")
-		fmt.Println(msg.String())
-		fmt.Println("----- END Authenticate Message ----- ")
-
-	}
-
-	fmt.Println("success")
-}