Working with Linux
This commit is contained in:
		
							parent
							
								
									1d6f2bfd84
								
							
						
					
					
						commit
						ae93b73f27
					
				
							
								
								
									
										8
									
								
								linux/dh2048.pem
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								linux/dh2048.pem
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | -----BEGIN DH PARAMETERS----- | ||||||
|  | MIIBCAKCAQEArjoon6Luh44PeVx1xPx6cuTzRVXgYoF17KrR6Tqww7b4P+ogrZp1 | ||||||
|  | wSLci+1RnlrkwWn1rFu0eHAbbSzvHlrmwkS2NRZcU+Zm7uNkPeE/6pzBd5HZnoRM | ||||||
|  | yjiOL8DWTyaumdp4srLYLUplO2HVsdOyYh5Z3+GhsiTTVZfYjqyQD7qOaIpgv0Ri | ||||||
|  | XMgVgVX8lQAd0IE7DfJyC6R/8CLoVaUIThEMQFJn4GH/ylnjW+kpOajyFeC0tU5F | ||||||
|  | yFn40sI8qu/y1rKw8ZRYRnhSsLUmndfgAmfKNn80kFZTaOxHcaqbkRrocAV9QnHy | ||||||
|  | 6l+ytTbHOoFbCGyBQ/unRxxu9jD1qq/B6wIBAg== | ||||||
|  | -----END DH PARAMETERS----- | ||||||
							
								
								
									
										65
									
								
								linux/makefile
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										65
									
								
								linux/makefile
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,65 @@ | |||||||
|  | CC=g++ | ||||||
|  | CFLAGS=-Wall -O3 -fpermissive -std=c++11 -DOPENSSL_NO_SSL2 -DOPENSSL_USE_DEPRECATED | ||||||
|  | LDFLAGS= -lpthread -lrt -lssl -lcrypto \
 | ||||||
|  | -L/home/ubuntu/work/openssl-out/lib | ||||||
|  | BOOST_PATH=/home/ubuntu/work/boost_1_63_0 | ||||||
|  | #======================================================
 | ||||||
|  | #====================== BOOST =========================
 | ||||||
|  | #======================================================
 | ||||||
|  | CFLAGS += -I$(BOOST_PATH) | ||||||
|  | #thread
 | ||||||
|  | LOCAL_SRC_FILES := $(BOOST_PATH)/libs/thread/src/pthread/thread.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/thread/src/pthread/once.cpp | ||||||
|  | #signals
 | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/signals/src/connection.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/signals/src/named_slot_map.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/signals/src/signal_base.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/signals/src/slot.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/signals/src/trackable.cpp | ||||||
|  | #system
 | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/system/src/error_code.cpp | ||||||
|  | #regex
 | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/c_regex_traits.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/cpp_regex_traits.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/cregex.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/fileiter.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/icu.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/instances.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/posix_api.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/regex.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/regex_debug.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/regex_raw_buffer.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/regex_traits_defaults.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/static_mutex.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/usinstances.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/w32_regex_traits.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/wc_regex_traits.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/wide_posix_api.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/regex/src/winstances.cpp | ||||||
|  | #date_time
 | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/date_time/src/gregorian/greg_month.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/date_time/src/gregorian/greg_weekday.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/date_time/src/gregorian/date_generators.cpp | ||||||
|  | #program_options
 | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/cmdline.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/config_file.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/convert.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/options_description.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/parsers.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/positional_options.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/split.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/utf8_codecvt_facet.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/value_semantic.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/variables_map.cpp | ||||||
|  | LOCAL_SRC_FILES += $(BOOST_PATH)/libs/program_options/src/winmain.cpp | ||||||
|  | #======================================================
 | ||||||
|  | #======================= APP ==========================
 | ||||||
|  | #======================================================
 | ||||||
|  | CFLAGS += -I../ \
 | ||||||
|  | -I/home/ubuntu/work/openssl-out/include \ | ||||||
|  | -I/home/ubuntu/work/openssl \ | ||||||
|  | -I/home/ubuntu/work/openssl/include | ||||||
|  | LOCAL_SRC_FILES += ../main.cpp | ||||||
|  | 
 | ||||||
|  | all: | ||||||
|  | 	$(CC) $(LOCAL_SRC_FILES) $(CFLAGS) $(LDFLAGS) -o proxyServerTest | ||||||
							
								
								
									
										55
									
								
								linux/nohup.out
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										55
									
								
								linux/nohup.out
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,55 @@ | |||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession::sendServerVersionNoAuth | ||||||
|  | ProxySession::sendServerVersionNoAuth inner | ||||||
|  | ProxySession::readConnectRequest | ||||||
|  | ProxySession::readConnectRequest iner | ||||||
|  | End of file | ||||||
|  | Operation canceled | ||||||
|  | ProxySession Destroy | ||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession Destroy | ||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession Destroy | ||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession Destroy | ||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession Destroy | ||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession Destroy | ||||||
|  | ProxySession Create | ||||||
|  | ProxySession::start | ||||||
|  | ProxySession::asyncHandshake | ||||||
|  | ProxySession::asyncHandshake inner | ||||||
|  | ProxySession::readClientVersion | ||||||
|  | ProxySession::readClientVersion inner | ||||||
|  | ProxySession Destroy | ||||||
							
								
								
									
										
											BIN
										
									
								
								linux/proxyServerTest
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								linux/proxyServerTest
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								linux/rootca.crt
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								linux/rootca.crt
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | -----BEGIN CERTIFICATE----- | ||||||
|  | MIIECTCCAvGgAwIBAgIJAKlzlxSAr1BkMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD | ||||||
|  | VQQGEwJMVjETMBEGA1UECAwKU29tZS1TdGF0ZTENMAsGA1UEBwwEUmlnYTEbMBkG | ||||||
|  | A1UECgwSRmlzaCBSdW4gR2FtZXMgU0lBMRcwFQYDVQQDDA5mcmctcHJveHktcm9v | ||||||
|  | dDEwMC4GCSqGSIb3DQEJARYhdmxhZGlzbGF2Lmtob3JldkBmaXNocnVuZ2FtZXMu | ||||||
|  | Y29tMCAXDTE3MDgwNjE4MjgxMFoYDzIwNzIwNTA5MTgyODEwWjCBmTELMAkGA1UE | ||||||
|  | BhMCTFYxEzARBgNVBAgMClNvbWUtU3RhdGUxDTALBgNVBAcMBFJpZ2ExGzAZBgNV | ||||||
|  | BAoMEkZpc2ggUnVuIEdhbWVzIFNJQTEXMBUGA1UEAwwOZnJnLXByb3h5LXJvb3Qx | ||||||
|  | MDAuBgkqhkiG9w0BCQEWIXZsYWRpc2xhdi5raG9yZXZAZmlzaHJ1bmdhbWVzLmNv | ||||||
|  | bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM5NIDsckYAgP1zhXwzg | ||||||
|  | DHOnFbpQCF0gJVOQK66tgda7o5vbLFqzqW5R6rRieNdlUEtztXrRMjO+1LYBQ+vD | ||||||
|  | bT058uwlTgD7xpRtr73kMoPBosZpxRxBKJpp60wOHLyZJqSn16WlgTm8/TTTaF2R | ||||||
|  | yFYhHxGM+xkDzgXo0LU0yjHOgsJSlnBHGC6mmbrdzCGY9c7hFcYPawCty+FNIqVW | ||||||
|  | eFEWHSOXqAhADxp5KbdrcUK8EmVljRLEGItctiRdq9PWxhHpodEgKiwOUk0bXds/ | ||||||
|  | ErTw1ozopqSYZD5RgL1DcL3T/bKbGDdqp+blIZN1nsL6hYW4b2gHPTSNrUkBkt5v | ||||||
|  | oz0CAwEAAaNQME4wHQYDVR0OBBYEFHhY1354tUtbEk1mMtRcRbgK4LPsMB8GA1Ud | ||||||
|  | IwQYMBaAFHhY1354tUtbEk1mMtRcRbgK4LPsMAwGA1UdEwQFMAMBAf8wDQYJKoZI | ||||||
|  | hvcNAQELBQADggEBAMEiLatj4IURN1U1779TLRbKf4gIVlopey0xbzSRSosNtAOu | ||||||
|  | s+zApVzaDEDdULM7YhkXo+kThp41xCU7xMZZan0XyvTcos1KTjHISf3swJb9L8XT | ||||||
|  | S6t/D2bUt+FnjKCyRC3xtheNhoxOwCAQXNvXu5HJ1O87eDxYorQQ5ujAjbToxbTs | ||||||
|  | i8xR9HwLe3h36NY22qsX6LRohZufXa3S8YUATW2frDp1q7vArBXuY7o/+UIQxn49 | ||||||
|  | dTzAqYhEpBJZw7MZB/3BqHPzmZ3jqEsj3HK6rgxwlYEnY6kB6eAhiAtaPVARx538 | ||||||
|  | 6Yz8LsofRoZSVnytmYquxiWB7YJuhEYiIwrpcXo= | ||||||
|  | -----END CERTIFICATE----- | ||||||
							
								
								
									
										5
									
								
								linux/run.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								linux/run.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | LD_LIBRARY_PATH="/home/ubuntu/work/openssl-out/lib" | ||||||
|  | export LD_LIBRARY_PATH | ||||||
|  | nohup /home/ubuntu/work/proxyServerTest/linux/proxyServerTest & | ||||||
|  | 
 | ||||||
							
								
								
									
										22
									
								
								linux/server.crt
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								linux/server.crt
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | -----BEGIN CERTIFICATE----- | ||||||
|  | MIIDqDCCApACCQCHryODPTrImDANBgkqhkiG9w0BAQsFADCBmTELMAkGA1UEBhMC | ||||||
|  | TFYxEzARBgNVBAgMClNvbWUtU3RhdGUxDTALBgNVBAcMBFJpZ2ExGzAZBgNVBAoM | ||||||
|  | EkZpc2ggUnVuIEdhbWVzIFNJQTEXMBUGA1UEAwwOZnJnLXByb3h5LXJvb3QxMDAu | ||||||
|  | BgkqhkiG9w0BCQEWIXZsYWRpc2xhdi5raG9yZXZAZmlzaHJ1bmdhbWVzLmNvbTAg | ||||||
|  | Fw0xNzA4MDYxODI5NDVaGA8yMDcyMDUwOTE4Mjk0NVowgY8xCzAJBgNVBAYTAkxW | ||||||
|  | MRMwEQYDVQQIDApTb21lLVN0YXRlMQ0wCwYDVQQHDARSaWdhMRswGQYDVQQKDBJG | ||||||
|  | aXNoIFJ1biBHYW1lcyBTSUExDTALBgNVBAMMBHVzZXIxMDAuBgkqhkiG9w0BCQEW | ||||||
|  | IXZsYWRpc2xhdi5raG9yZXZAZmlzaHJ1bmdhbWVzLmNvbTCCASIwDQYJKoZIhvcN | ||||||
|  | AQEBBQADggEPADCCAQoCggEBAKk5iMe4m8SW9vV/VDePQznIiZ870b5CXrklOzcV | ||||||
|  | iI3kFDAsfnk9AR6UALfojCjDFO97DfaKDXOJBH+hkyJVuDQt25unnsG9Sbtr/Uwn | ||||||
|  | msdOTv8hr2IPyRnBIJc1MW7zoYaNOZ/etJcAyAYVMsr8/8CoTZi4vhARvgdgXmZd | ||||||
|  | bI+wMt13ZObihobuyLrjvRvoc1se/gwN8AkluQBz7h7FFYTda7sBdCw/qAz2/hUT | ||||||
|  | zskPLiPwbXWm7iC1eAoQgXy/DZLzXUVVJ94CmkUflsVbjKq3Z9wudYIptMqG9tsO | ||||||
|  | mKOhbwi579NbiB1afeSf4cHtDcnH3JM4AgEgcru5Js27pocCAwEAATANBgkqhkiG | ||||||
|  | 9w0BAQsFAAOCAQEAiRySYyBhpksv1vOvc7eMKcpGh+1wS85PpcwH8uOaBGsqgjxz | ||||||
|  | mQZK+tnw/WmL9mlgOY6GqfEpz1VW6gytD3kvlmXrIDUgUGxthVZ7pZhc7lsACkU1 | ||||||
|  | TN+kZUP1wVeHhYdoAFdCnFQjsm4DEGB8ArXAAteN1onnPC7wUTiDeVDLyhTAYzj9 | ||||||
|  | 9o/4nrP941QgACBt9h+mXAKwUCD8Zr9GhcktlZA+XvF+z6ckV8L6XyepdEvriVT/ | ||||||
|  | 84jEOOdPYmI5/FJRxCriDxmVJubwswDiIezgZ0vo2pdPVftEoTR6/iebu+lUWXFV | ||||||
|  | 5mqnHTucNTHVWmimiv/de0FHbO/qnwYnQPgaMA== | ||||||
|  | -----END CERTIFICATE----- | ||||||
							
								
								
									
										27
									
								
								linux/server.key
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								linux/server.key
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | -----BEGIN RSA PRIVATE KEY----- | ||||||
|  | MIIEowIBAAKCAQEAqTmIx7ibxJb29X9UN49DOciJnzvRvkJeuSU7NxWIjeQUMCx+ | ||||||
|  | eT0BHpQAt+iMKMMU73sN9ooNc4kEf6GTIlW4NC3bm6eewb1Ju2v9TCeax05O/yGv | ||||||
|  | Yg/JGcEglzUxbvOhho05n960lwDIBhUyyvz/wKhNmLi+EBG+B2BeZl1sj7Ay3Xdk | ||||||
|  | 5uKGhu7IuuO9G+hzWx7+DA3wCSW5AHPuHsUVhN1ruwF0LD+oDPb+FRPOyQ8uI/Bt | ||||||
|  | dabuILV4ChCBfL8NkvNdRVUn3gKaRR+WxVuMqrdn3C51gim0yob22w6Yo6FvCLnv | ||||||
|  | 01uIHVp95J/hwe0NycfckzgCASByu7kmzbumhwIDAQABAoIBAEdIOvuWIdc/mCt1 | ||||||
|  | RS5aJIE0nfP7KLCyGGB49GaRpYHPb0mTlHrRXaVZxquxQ0jwU+NEvG77XAsszj5M | ||||||
|  | +0NdREiGgJkilFcbuvE93ea0UBhgPhpuQAhYiedVWLsY5wfLjGC3IGzdTMjGxXr6 | ||||||
|  | dvjWdYzb2EPangT61EcbKuiHtfEYIhQ26Mdb3tVWPMW/g2KMYCTOFSraNZoSHXLn | ||||||
|  | f7gpzP1dY/aoL2FYz7GBV/7W2corA5iYIFe4HVHpppEjnPja6+WZwsTR2rndSvj7 | ||||||
|  | N9zwdXcpLJr1GJCrta8RiJTlD0kHAKXOMPYTG/pcxwUfLr8ceP5HTh/7624sPsYo | ||||||
|  | rnyt7fECgYEA0+RMZ9tYT3i0peaLC12MTyr8X+xzDnHK501Ep+0VnpS0quHwWJ0u | ||||||
|  | 3ab9EFhM1u8NEFwF6YnXyORq1AMHIU/O+O3rHt6VlF4z625tF6Wu61zQNerCVM/M | ||||||
|  | bOqX9yl+ukNW4qx1maSEqhajKhhp69qJ3Cr+2eD+igENuDRqn/2eHtsCgYEAzHOC | ||||||
|  | 4/xrF4iWlx4MYflENa9miTGxnYDz9rDuhZu9Zqlv55dtv39WEkhKvcFjMx4McvNy | ||||||
|  | nu0yKBdpZ75QORfjaAHX0J47+RnDZhiSxh53P7vSy7/jDbUDle44x+H0IWJwoK4b | ||||||
|  | ECqvKIh/tibYukFFoSJyBdZQ4U67kaXbsrNKOMUCgYEAoFUhk3ygCBJ37wjRsZnp | ||||||
|  | r4YBTbwnG4jzVa5cAw0czNANHTi1mvflHIdc+d821XQxWG2pc5uAElz0kNRxsr0n | ||||||
|  | CalNviAC4y+c7cqy9a/C+glS61lmDrLmJowkzTsyz1JhDkgc/FNGp0VV1WZ/z52f | ||||||
|  | r19BVDAxqs89SGMxQzqvSP0CgYB2r7PTX+xXXA53qZTsp0Smma0/hZ6jXYHCutGs | ||||||
|  | tE1ONJxm6Cxo16YCtP7Wi1ZoDVCSxqrKgc31IiopdHyjuC9maHN9gu4z3HXnZeqG | ||||||
|  | opb9Y66qYzmO8n8jYYiK2KvdWYUicg/54Z2PPTZOatyzu0KNmS5yHwkS0p7mnU8d | ||||||
|  | vSEgNQKBgC0eq1urDxRl0FbcoLPNaxwVRRyUhcZZc7RRDz8TH0Z2/iVdnsmhBhum | ||||||
|  | Z27ZfBfp7HZA4k44sld15ZIw5H2lsFlEz/oHiJgAobGx556WbQwJypvY/Ii3jtap | ||||||
|  | sE6umZIoJF90oo33ARRC743Ed46fD1BrIFaJ+BBG3raheA3SONmG | ||||||
|  | -----END RSA PRIVATE KEY----- | ||||||
							
								
								
									
										125
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										125
									
								
								main.cpp
									
									
									
									
									
								
							| @ -7,6 +7,8 @@ | |||||||
| 
 | 
 | ||||||
| #include <boost/bind.hpp> | #include <boost/bind.hpp> | ||||||
| 
 | 
 | ||||||
|  | #include <boost/thread.hpp> | ||||||
|  | 
 | ||||||
| #define SSL_R_SHORT_READ 219 | #define SSL_R_SHORT_READ 219 | ||||||
| #include "ssl/ssl_locl.h" | #include "ssl/ssl_locl.h" | ||||||
| #include <boost/asio/ssl.hpp> | #include <boost/asio/ssl.hpp> | ||||||
| @ -172,6 +174,10 @@ private: | |||||||
| 				{ | 				{ | ||||||
| 					sendServerVersion(); | 					sendServerVersion(); | ||||||
| 				} | 				} | ||||||
|  | 				else if (clientVersion[0] == 0x05 && clientVersion[1] == 0x01 && clientVersion[2] == 0x00) | ||||||
|  | 				{ | ||||||
|  | 					sendServerVersionNoAuth(); | ||||||
|  | 				} | ||||||
| 				else | 				else | ||||||
| 				{ | 				{ | ||||||
| 					lowerSocket().close(); | 					lowerSocket().close(); | ||||||
| @ -210,6 +216,32 @@ private: | |||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	void sendServerVersionNoAuth() | ||||||
|  | 	{ | ||||||
|  | 
 | ||||||
|  | 		std::cout << "ProxySession::sendServerVersionNoAuth" << std::endl; | ||||||
|  | 
 | ||||||
|  | 		auto self(shared_from_this()); | ||||||
|  | 
 | ||||||
|  | 		std::array<char, 2> version = { 0x05, 0x00 }; | ||||||
|  | 
 | ||||||
|  | 		boost::asio::async_write(socket(), | ||||||
|  | 			boost::asio::buffer(version.data(), version.size()), | ||||||
|  | 			[this, self](boost::system::error_code ec, std::size_t length) | ||||||
|  | 		{ | ||||||
|  | 			std::cout << "ProxySession::sendServerVersionNoAuth inner" << std::endl; | ||||||
|  | 			if (!ec) | ||||||
|  | 			{ | ||||||
|  | 				//readLoginPassword();
 | ||||||
|  | 				readConnectRequest(); | ||||||
|  | 			} | ||||||
|  | 			else | ||||||
|  | 			{ | ||||||
|  | 				lowerSocket().close(); | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 	void readLoginPassword() | 	void readLoginPassword() | ||||||
| 	{ | 	{ | ||||||
| @ -254,7 +286,7 @@ private: | |||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	std::array<unsigned char, 2> authStatus = { 0x01, 0x00 }; | 	std::array<unsigned char, 2> authStatus = std::array<unsigned char, 2>{ (unsigned char)0x01, (unsigned char)0x00 }; | ||||||
| 
 | 
 | ||||||
| 	void sendAuthStatus() | 	void sendAuthStatus() | ||||||
| 	{ | 	{ | ||||||
| @ -273,6 +305,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| @ -280,6 +314,9 @@ private: | |||||||
| 
 | 
 | ||||||
| 	void readConnectRequest() | 	void readConnectRequest() | ||||||
| 	{ | 	{ | ||||||
|  | 
 | ||||||
|  | 		std::cout << "ProxySession::readConnectRequest" << std::endl; | ||||||
|  | 
 | ||||||
| 		std::shared_ptr<std::array<unsigned char, 5>> firstPartPtr = std::make_shared<std::array<unsigned char, 5>>(); | 		std::shared_ptr<std::array<unsigned char, 5>> firstPartPtr = std::make_shared<std::array<unsigned char, 5>>(); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -290,6 +327,8 @@ private: | |||||||
| 			boost::asio::buffer(firstPartPtr->data(), firstPartPtr->size()), | 			boost::asio::buffer(firstPartPtr->data(), firstPartPtr->size()), | ||||||
| 			[this, self, firstPartPtr](boost::system::error_code ec, std::size_t /*length*/) | 			[this, self, firstPartPtr](boost::system::error_code ec, std::size_t /*length*/) | ||||||
| 		{ | 		{ | ||||||
|  | 			std::cout << "ProxySession::readConnectRequest iner" << std::endl; | ||||||
|  | 
 | ||||||
| 			if (!ec) | 			if (!ec) | ||||||
| 			{ | 			{ | ||||||
| 				if ((*firstPartPtr)[0] == 0x05 && (*firstPartPtr)[1] == 0x01 && (*firstPartPtr)[2] == 0x00) | 				if ((*firstPartPtr)[0] == 0x05 && (*firstPartPtr)[1] == 0x01 && (*firstPartPtr)[2] == 0x00) | ||||||
| @ -306,11 +345,15 @@ private: | |||||||
| 				} | 				} | ||||||
| 				else | 				else | ||||||
| 				{ | 				{ | ||||||
|  | 					std::string msg = ec.message(); | ||||||
|  | 					std::cout << msg << std::endl; | ||||||
| 					lowerSocket().close(); | 					lowerSocket().close(); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| @ -351,6 +394,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| @ -393,6 +438,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| @ -413,6 +460,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 				outsideConnectSocket.close(); | 				outsideConnectSocket.close(); | ||||||
| 			} | 			} | ||||||
| @ -432,6 +481,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 				outsideConnectSocket.close(); | 				outsideConnectSocket.close(); | ||||||
| 			} | 			} | ||||||
| @ -468,6 +519,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 				outsideConnectSocket.close(); | 				outsideConnectSocket.close(); | ||||||
| 			} | 			} | ||||||
| @ -507,6 +560,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 				outsideConnectSocket.close(); | 				outsideConnectSocket.close(); | ||||||
| 			} | 			} | ||||||
| @ -514,23 +569,32 @@ private: | |||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	unsigned char forwardChar; | 
 | ||||||
| 	unsigned char backwardChar; | 	std::array<unsigned char, 8192> forwardBuffer; | ||||||
|  | 	std::array<unsigned char, 8192> backwardBuffer; | ||||||
|  | 	//unsigned char forwardChar;
 | ||||||
|  | 	//unsigned char backwardChar;
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 	void transferDataForward() | 	void transferDataForward() | ||||||
| 	{ | 	{ | ||||||
| 		auto self(shared_from_this()); | 		auto self(shared_from_this()); | ||||||
| 
 | 
 | ||||||
| 		boost::asio::async_read(socket(), | 		socket().async_read_some(boost::asio::buffer(forwardBuffer), | ||||||
| 			boost::asio::buffer(&forwardChar, 1), | 			[this, self](boost::system::error_code ec, std::size_t length) | ||||||
| 			[this, self](boost::system::error_code ec, std::size_t /*length*/) |  | ||||||
| 		{ | 		{ | ||||||
| 			if (!ec) | 			if (!ec) | ||||||
| 			{ | 			{ | ||||||
|  | 
 | ||||||
|  | 				std::shared_ptr<std::vector<unsigned char>> data = std::make_shared<std::vector<unsigned char>>(); | ||||||
|  | 				data->resize(length); | ||||||
|  | 
 | ||||||
|  | 				std::copy(&forwardBuffer[0], &forwardBuffer[0] + length, &(*data)[0]); | ||||||
|  | 				 | ||||||
|  | 
 | ||||||
| 				boost::asio::async_write(outsideConnectSocket, | 				boost::asio::async_write(outsideConnectSocket, | ||||||
| 					boost::asio::buffer(&forwardChar, 1), | 					boost::asio::buffer(*data), | ||||||
| 					[this, self](boost::system::error_code ec, std::size_t length) | 					[this, self, data](boost::system::error_code ec, std::size_t length) | ||||||
| 				{ | 				{ | ||||||
| 
 | 
 | ||||||
| 					if (!ec) | 					if (!ec) | ||||||
| @ -539,6 +603,8 @@ private: | |||||||
| 					} | 					} | ||||||
| 					else | 					else | ||||||
| 					{ | 					{ | ||||||
|  | 						std::string msg = ec.message(); | ||||||
|  | 						std::cout << msg << std::endl; | ||||||
| 						outsideConnectSocket.close(); | 						outsideConnectSocket.close(); | ||||||
| 						lowerSocket().close(); | 						lowerSocket().close(); | ||||||
| 					} | 					} | ||||||
| @ -546,6 +612,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				outsideConnectSocket.close(); | 				outsideConnectSocket.close(); | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 			} | 			} | ||||||
| @ -556,15 +624,21 @@ private: | |||||||
| 	{ | 	{ | ||||||
| 		auto self(shared_from_this()); | 		auto self(shared_from_this()); | ||||||
| 
 | 
 | ||||||
| 		boost::asio::async_read(outsideConnectSocket, | 		outsideConnectSocket.async_read_some(boost::asio::buffer(backwardBuffer), | ||||||
| 			boost::asio::buffer(&backwardChar, 1), | 			[this, self](boost::system::error_code ec, std::size_t length) | ||||||
| 			[this, self](boost::system::error_code ec, std::size_t /*length*/) |  | ||||||
| 		{ | 		{ | ||||||
| 			if (!ec) | 			if (!ec) | ||||||
| 			{ | 			{ | ||||||
|  | 
 | ||||||
|  | 				std::shared_ptr<std::vector<unsigned char>> data = std::make_shared<std::vector<unsigned char>>(); | ||||||
|  | 				data->resize(length); | ||||||
|  | 
 | ||||||
|  | 				std::copy(&backwardBuffer[0], &backwardBuffer[0] + length, &(*data)[0]); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 				boost::asio::async_write(socket(), | 				boost::asio::async_write(socket(), | ||||||
| 					boost::asio::buffer(&backwardChar, 1), | 					boost::asio::buffer(*data), | ||||||
| 					[this, self](boost::system::error_code ec, std::size_t length) | 					[this, self, data](boost::system::error_code ec, std::size_t length) | ||||||
| 				{ | 				{ | ||||||
| 
 | 
 | ||||||
| 					if (!ec) | 					if (!ec) | ||||||
| @ -573,6 +647,8 @@ private: | |||||||
| 					} | 					} | ||||||
| 					else | 					else | ||||||
| 					{ | 					{ | ||||||
|  | 						std::string msg = ec.message(); | ||||||
|  | 						std::cout << msg << std::endl; | ||||||
| 						outsideConnectSocket.close(); | 						outsideConnectSocket.close(); | ||||||
| 						lowerSocket().close(); | 						lowerSocket().close(); | ||||||
| 					} | 					} | ||||||
| @ -580,6 +656,8 @@ private: | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
|  | 				std::string msg = ec.message(); | ||||||
|  | 				std::cout << msg << std::endl; | ||||||
| 				outsideConnectSocket.close(); | 				outsideConnectSocket.close(); | ||||||
| 				lowerSocket().close(); | 				lowerSocket().close(); | ||||||
| 			} | 			} | ||||||
| @ -671,7 +749,26 @@ int main() | |||||||
| 
 | 
 | ||||||
| 		ProxyServer proxyServer(ioService, endpoint, sslContext); | 		ProxyServer proxyServer(ioService, endpoint, sslContext); | ||||||
| 
 | 
 | ||||||
| 		ioService.run(); | 
 | ||||||
|  | 		boost::thread_group threadpool; | ||||||
|  | 		/*
 | ||||||
|  | 		threadpool.create_thread( | ||||||
|  | 			boost::bind(&boost::asio::io_service::run, &ioService) | ||||||
|  | 		); | ||||||
|  | 		threadpool.create_thread( | ||||||
|  | 			boost::bind(&boost::asio::io_service::run, &ioService) | ||||||
|  | 		); | ||||||
|  | 		threadpool.create_thread( | ||||||
|  | 			boost::bind(&boost::asio::io_service::run, &ioService) | ||||||
|  | 		);*/ | ||||||
|  | 		threadpool.create_thread( | ||||||
|  | 			boost::bind(&boost::asio::io_service::run, &ioService) | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		threadpool.join_all(); | ||||||
|  | 
 | ||||||
|  | 		//ioService.run();
 | ||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
| 	catch (std::exception& e) | 	catch (std::exception& e) | ||||||
|  | |||||||
| @ -75,6 +75,7 @@ | |||||||
|       <Optimization>Disabled</Optimization> |       <Optimization>Disabled</Optimization> | ||||||
|       <SDLCheck>true</SDLCheck> |       <SDLCheck>true</SDLCheck> | ||||||
|       <AdditionalIncludeDirectories>../boost_1_63_0;../../openssl-master;../../openssl-master/include;../../openssl-master/output/include</AdditionalIncludeDirectories> |       <AdditionalIncludeDirectories>../boost_1_63_0;../../openssl-master;../../openssl-master/include;../../openssl-master/output/include</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
| @ -88,6 +89,7 @@ | |||||||
|       <Optimization>Disabled</Optimization> |       <Optimization>Disabled</Optimization> | ||||||
|       <SDLCheck>true</SDLCheck> |       <SDLCheck>true</SDLCheck> | ||||||
|       <AdditionalIncludeDirectories>../boost_1_63_0</AdditionalIncludeDirectories> |       <AdditionalIncludeDirectories>../boost_1_63_0</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
| @ -102,6 +104,7 @@ | |||||||
|       <IntrinsicFunctions>true</IntrinsicFunctions> |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|       <SDLCheck>true</SDLCheck> |       <SDLCheck>true</SDLCheck> | ||||||
|       <AdditionalIncludeDirectories>../boost_1_63_0;../../openssl-master;../../openssl-master/include;../../openssl-master/output/include</AdditionalIncludeDirectories> |       <AdditionalIncludeDirectories>../boost_1_63_0;../../openssl-master;../../openssl-master/include;../../openssl-master/output/include</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
| @ -119,6 +122,7 @@ | |||||||
|       <IntrinsicFunctions>true</IntrinsicFunctions> |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|       <SDLCheck>true</SDLCheck> |       <SDLCheck>true</SDLCheck> | ||||||
|       <AdditionalIncludeDirectories>../boost_1_63_0</AdditionalIncludeDirectories> |       <AdditionalIncludeDirectories>../boost_1_63_0</AdditionalIncludeDirectories> | ||||||
|  |       <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user