Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Callisto
  • Cat
  • Cognate
  • colorForth
  • Concata
  • CoSy
  • Deque
  • DSSP
  • dt
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Fiveth
  • Forth
  • Fourth
  • Freelang
  • Gershwin
  • hex
  • iNet
  • Joy
  • Joy of Postfix App
  • kcats
  • Kitten
  • lang5
  • Listack
  • LSE64
  • Lviv
  • Meow5
  • min
  • Mirth
  • mjoy
  • Mlatu
  • Ode
  • OForth
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Prowl
  • Quest32
  • Quackery
  • r3
  • Raven
  • Retro
  • RPL
  • SPL
  • Staapl
  • Stabel
  • Tal
  • Titan
  • Trith
  • Uiua
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Concatenative topics

  • Compilers
  • Interpreters
  • Type systems
  • Object systems
  • Quotations
  • Variables
  • Garbage collection
  • Example programs

Concatenative meta

  • People
  • Communities

Other languages

  • APL
  • C++
  • Erlang
  • FP trivia
  • Haskell
  • Io
  • Java
  • JavaScript
  • Lisp
  • ML
  • Oberon
  • RPL
  • Self
  • Slate
  • Smalltalk

Meta

  • Search
  • Farkup wiki format
  • Etiquette
  • Sandbox

Factor/GSoC/2010/SSL on Windows

Skills required

  • Knowledge of C
  • Knowledge of the Win32 API
  • Knowledge of SSL
  • Secure code development

Level

Intermediate

Technical outline

First, a binding needs to be written to the Windows SSL API, Schannel. Once the binding is place, some high-level abstractions will need to be built on top, to automate memory management and other such details -- Factor's destructors will be useful here. After that, an implementation of the high-level abstraction defined in io.sockets.secure will need to be written.

All the code should integrate with the overlapped I/O implementation in io.backend.windows.nt to ensure that SSL-based clients and servers can handle multiple simultaneous connections.

Validation

The project will be deemed complete when all the unit tests in the io.sockets.secure.unix vocabulary are moved to the io.sockets.secure vocabulary, and the tests pass Windows. Additionally, there will be code review to ensure the code is of sufficient quality to ensure future maintainability, and a load tester will be run against the HTTP server serving HTTPS pages to ensure stability.

Benefit to the student

The student gains experience working with low-level networking code, and will be better equipped to develop debug server-side applications in the future.

Benefit to the community

Lack of SSL support on Windows is the only stumbling block between compete feature parity in Factor's I/O library on Windows and Unix. Since SSL is widespread today, lack of it makes it hard to develop certain types of applications in Factor on Windows.

This revision created on Thu, 25 Feb 2010 19:13:24 by jckarter (Copy over 2009)

Latest Revisions Edit

All content is © 2008-2024 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license.