install gdb in the alpine dockerfile
This commit is contained in:
parent
4d7332c4ee
commit
a923caec0b
@ -1,103 +0,0 @@
|
|||||||
/*
|
|
||||||
* IXSocketSChannel.cpp
|
|
||||||
* Author: Benjamin Sergeant
|
|
||||||
* Copyright (c) 2018 Machine Zone, Inc. All rights reserved.
|
|
||||||
*
|
|
||||||
* See https://docs.microsoft.com/en-us/windows/desktop/WinSock/using-secure-socket-extensions
|
|
||||||
*
|
|
||||||
* https://github.com/pauldotknopf/WindowsSDK7-Samples/blob/master/netds/winsock/securesocket/stcpclient/tcpclient.c
|
|
||||||
*
|
|
||||||
* This is the right example to look at:
|
|
||||||
* https://www.codeproject.com/Articles/1000189/A-Working-TCP-Client-and-Server-With-SSL
|
|
||||||
*
|
|
||||||
* Similar code is available from this git repo
|
|
||||||
* https://github.com/david-maw/StreamSSL
|
|
||||||
*/
|
|
||||||
#include "IXSocketSChannel.h"
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#include <WS2tcpip.h>
|
|
||||||
#include <WinSock2.h>
|
|
||||||
#include <basetsd.h>
|
|
||||||
#include <io.h>
|
|
||||||
#include <schannel.h>
|
|
||||||
#include <ws2def.h>
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
|
||||||
|
|
||||||
#ifndef UNICODE
|
|
||||||
#define UNICODE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <mstcpip.h>
|
|
||||||
#include <ntdsapi.h>
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <tchar.h>
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <ws2tcpip.h>
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
|
|
||||||
#define RECV_DATA_BUF_SIZE 256
|
|
||||||
|
|
||||||
// Link with ws2_32.lib
|
|
||||||
#pragma comment(lib, "Ws2_32.lib")
|
|
||||||
|
|
||||||
// link with fwpuclnt.lib for Winsock secure socket extensions
|
|
||||||
#pragma comment(lib, "fwpuclnt.lib")
|
|
||||||
|
|
||||||
// link with ntdsapi.lib for DsMakeSpn function
|
|
||||||
#pragma comment(lib, "ntdsapi.lib")
|
|
||||||
|
|
||||||
// The following function assumes that Winsock
|
|
||||||
// has already been initialized
|
|
||||||
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error("This file should only be built on Windows")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace ix
|
|
||||||
{
|
|
||||||
SocketSChannel::SocketSChannel()
|
|
||||||
{
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
SocketSChannel::~SocketSChannel()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SocketSChannel::connect(const std::string& host, int port, std::string& errMsg)
|
|
||||||
{
|
|
||||||
return Socket::connect(host, port, errMsg, nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void SocketSChannel::secureSocket()
|
|
||||||
{
|
|
||||||
// there will be a lot to do here ...
|
|
||||||
}
|
|
||||||
|
|
||||||
void SocketSChannel::close()
|
|
||||||
{
|
|
||||||
Socket::close();
|
|
||||||
}
|
|
||||||
|
|
||||||
ssize_t SocketSChannel::send(char* buf, size_t nbyte)
|
|
||||||
{
|
|
||||||
return Socket::send(buf, nbyte);
|
|
||||||
}
|
|
||||||
|
|
||||||
ssize_t SocketSChannel::send(const std::string& buffer)
|
|
||||||
{
|
|
||||||
return Socket::send(buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
ssize_t SocketSChannel::recv(void* buf, size_t nbyte)
|
|
||||||
{
|
|
||||||
return Socket::recv(buf, nbyte);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace ix
|
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* IXSocketSChannel.h
|
|
||||||
* Author: Benjamin Sergeant
|
|
||||||
* Copyright (c) 2017-2018 Machine Zone, Inc. All rights reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "IXSocket.h"
|
|
||||||
|
|
||||||
namespace ix
|
|
||||||
{
|
|
||||||
class SocketSChannel final : public Socket
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
SocketSChannel();
|
|
||||||
~SocketSChannel();
|
|
||||||
|
|
||||||
virtual bool connect(const std::string& host, int port, std::string& errMsg) final;
|
|
||||||
virtual void close() final;
|
|
||||||
|
|
||||||
// The important override
|
|
||||||
virtual void secureSocket() final;
|
|
||||||
|
|
||||||
virtual ssize_t send(char* buffer, size_t length) final;
|
|
||||||
virtual ssize_t send(const std::string& buffer) final;
|
|
||||||
virtual ssize_t recv(void* buffer, size_t length) final;
|
|
||||||
|
|
||||||
private:
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace ix
|
|
Loading…
Reference in New Issue
Block a user