public KdcAsReqMessageHandler(ReadOnlySequence <byte> message, ListenerOptions options) : base(message, options) { postProcessAuthHandlers[PaDataType.PA_ETYPE_INFO2] = service => new PaDataETypeInfo2Handler(service); RegisterPreAuthHandlers(postProcessAuthHandlers); }
public KdcTgsReqMessageHandler(ReadOnlyMemory <byte> message, ListenerOptions options) : base(message, options) { logger = options.Log.CreateLoggerSafe <KdcTgsReqMessageHandler>(); PreAuthHandlers[PaDataType.PA_TGS_REQ] = service => new PaDataTgsTicketHandler(service); }
protected ServiceListenerBase( ListenerOptions options, Func <Socket, ListenerOptions, SocketWorkerBase> workerFunc ) { this.options = options; socketListener = new SocketListener(options, workerFunc); }
public KdcServer(ListenerOptions options) { this.options = options; RegisterMessageHandler(MessageType.KRB_AS_REQ, (message, op) => new KdcAsReqMessageHandler(message, op)); RegisterMessageHandler(MessageType.KRB_TGS_REQ, (message, op) => new KdcTgsReqMessageHandler(message, op)); RegisterPreAuthHandler(PaDataType.PA_ENC_TIMESTAMP, (service) => new PaDataTimestampHandler(service)); }
public KdcAsReqMessageHandler(ReadOnlyMemory <byte> message, ListenerOptions options) : base(message, options) { this.logger = options.Log.CreateLoggerSafe <KdcAsReqMessageHandler>(); PostProcessAuthHandlers[PaDataType.PA_ETYPE_INFO2] = service => new PaDataETypeInfo2Handler(service); RegisterPreAuthHandlers(PostProcessAuthHandlers); }
protected ServiceListenerBase( ListenerOptions options, Func <Socket, ListenerOptions, SocketWorkerBase> workerFunc ) { Options = options; logger = options.Log.CreateLoggerSafe <ServiceListenerBase>(); socketListener = new SocketListener(options, workerFunc); }
public SocketListener(ListenerOptions options, Func <Socket, ListenerOptions, SocketWorkerBase> workerFunc) : base(options) { listeningSocket = new Socket(SocketType.Stream, ProtocolType.Tcp); listeningSocket.Bind(Options.ListeningOn); listeningSocket.Listen(Options.QueueLength); this.workerFunc = workerFunc; }
public KdcServer(ListenerOptions options) { this.options = options; this.logger = options.Log.CreateLoggerSafe <KdcServer>(); RegisterMessageHandler(MessageType.KRB_AS_REQ, (message, op) => new KdcAsReqMessageHandler(message, op)); RegisterMessageHandler(MessageType.KRB_TGS_REQ, (message, op) => new KdcTgsReqMessageHandler(message, op)); RegisterPreAuthHandler(PaDataType.PA_ENC_TIMESTAMP, (service) => new PaDataTimestampHandler(service)); RegisterPreAuthHandler(PaDataType.PA_PK_AS_REQ, (service) => new PaDataPkAsReqHandler(service)); }
internal static ReadOnlyMemory <byte> GenerateGenericError(Exception ex, ListenerOptions options) { KerberosErrorCode error = KerberosErrorCode.KRB_ERR_GENERIC; string errorText = options.IsDebug ? $"[Server] {ex}" : null; if (ex is KerberosProtocolException kex) { error = kex.Error.ErrorCode; errorText = kex.Message; } return(GenerateError(error, errorText, options.DefaultRealm, "krbtgt")); }
public SocketListener(ListenerOptions options, Func <Socket, ListenerOptions, SocketWorkerBase> workerFunc) : base(options) { logger = options.Log.CreateLoggerSafe <SocketListener>(); listeningSocket = new Socket(SocketType.Stream, ProtocolType.Tcp); listeningSocket.Bind(Options.ListeningOn); listeningSocket.Listen(Options.QueueLength); logger.LogInformation("Listener has started. Endpoint = {Port}; Protocol = {Protocol}", listeningSocket.LocalEndPoint, listeningSocket.ProtocolType); this.workerFunc = workerFunc; }
protected SocketWorkerBase(Socket socket, ListenerOptions options) : base(options) { this.socket = socket; RequestPipe = new Pipe(new PipeOptions( readerScheduler: scheduler, writerScheduler: scheduler, pauseWriterThreshold: options.MaxReadBufferSize, resumeWriterThreshold: options.MaxReadBufferSize / 2, useSynchronizationContext: false )); ResponsePipe = new Pipe(new PipeOptions( readerScheduler: scheduler, writerScheduler: scheduler, pauseWriterThreshold: options.MaxWriteBufferSize, resumeWriterThreshold: options.MaxWriteBufferSize / 2, useSynchronizationContext: false )); }
public KdcServiceListener(ListenerOptions options) : base(options, (socket, o) => new KdcSocketWorker(socket, o)) { }
protected KdcMessageHandlerBase(ReadOnlyMemory <byte> message, ListenerOptions options) { this.message = message; Options = options; }
protected SocketWorkerBase(Socket socket, ListenerOptions options) : base(options) { this.socket = socket; this.logger = options.Log.CreateLoggerSafe <SocketWorkerBase>(); }
public KdcTgsReqMessageHandler(ReadOnlySequence <byte> message, ListenerOptions options) : base(message, options) { logger = options.Log.CreateLoggerSafe <KdcTgsReqMessageHandler>(); }
public KdcSocketWorker(Socket socket, ListenerOptions options) : base(socket, options) { kdc = new KdcServer(options); }
protected SocketBase(ListenerOptions options) { this.Options = options; }
public KdcSocketWorker(Socket socket, ListenerOptions options) : base(socket, options) { kdc = new KdcServer(options); logger = options.Log.CreateLoggerSafe <KdcSocketWorker>(); }
public KdcTgsReqMessageHandler(ReadOnlySequence <byte> message, ListenerOptions options) : base(message, options) { }