~certify-web-dev/twisted/certify-trunk

« back to all changes in this revision

Viewing changes to doc/historic/2003/pycon/conch/conch

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-01-16 19:56:10 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20060116195610-ykmxbia4mnnod9o2
Tags: 2.1.0-0ubuntu2
debian/copyright: Include copyright for python 2.3; some 2.3 files
are included in the upstream tarball, but not in the binary packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python2.2
2
 
from slides import Slide, Bullet, SubBullet, URL
3
 
from twslides import Lecture
4
 
 
5
 
lecture = Lecture(
6
 
    "Twisted.Conch: SSH in Python",
7
 
    Slide("Introduction",
8
 
    ),
9
 
    Slide("Other implementations (servers)",
10
 
        Bullet("OpenSSH",
11
 
            SubBullet(URL("http://www.openssh.org")),
12
 
        ),
13
 
        Bullet("FSecure SSH",
14
 
            SubBullet(URL("http://www.f-secure.com/products/ssh/")),
15
 
        ),
16
 
        Bullet("LSH",
17
 
            SubBullet(URL("http://www.lysator.liu.se/~nisse/lsh/")),
18
 
        ),
19
 
    ),
20
 
    Slide("Other implementations (clients)",
21
 
        Bullet("PuTTY",
22
 
            SubBullet(URL("http://www.chiark.greenend.org.uk/~sgtatham/putty/")),
23
 
        ),
24
 
        Bullet("TeraTerm",
25
 
            SubBullet(URL("http://www.ayera.com/teraterm/")),
26
 
        ),
27
 
        Bullet("MindTerm",
28
 
            SubBullet(URL("http://www.appgate.com/mindterm/")),
29
 
        ),
30
 
    ),
31
 
    Slide("Why Twisted?",
32
 
        Bullet("Asynchronous"),
33
 
        Bullet("Python"),
34
 
        Bullet("High-Level"),
35
 
    ),
36
 
    Slide("No Forking or Threads",
37
 
        Bullet("Forking is expensive"),
38
 
        Bullet("Threads are complicated/expensive, esp. in Python"),
39
 
        Bullet("Asynch means no worrying about any of that"),
40
 
        Bullet("Makes running a session 2x as fast in Conch as in OpenSSH"),
41
 
    ),
42
 
    Slide("Security - No Pointers",
43
 
        SubBullet("No buffer overflows"),
44
 
        SubBullet("No off-by-1 errors"),
45
 
        SubBullet("No malloc/free bugs"),
46
 
        SubBullet("No arbitrary code execution"),
47
 
    ),
48
 
    Slide("Security - High Level",
49
 
        Bullet("Strong built-in library"),
50
 
        Bullet("Exceptions"),
51
 
    ),
52
 
    Slide("Security - Not Root",
53
 
        Bullet("Limits vulnerablity in a compromise"),
54
 
        Bullet("Allows use of process limits/etc."),
55
 
    ),
56
 
    Slide("Interfacing with other software",
57
 
        Bullet("OpenSSH interacts only through separate processes",
58
 
            SubBullet("Expensive"),
59
 
            SubBullet("Complicated"),
60
 
        ),
61
 
        Bullet("Conch can interact in-process",
62
 
            SubBullet("Faster"),
63
 
            SubBullet("Easy integration to other Twisted and Python libraries"),
64
 
        ),
65
 
    ),
66
 
    Slide("Speed",
67
 
        Bullet("C is faster than Python"),
68
 
        Bullet("Interpreter cost is high for the client"),
69
 
        Bullet("FSH-style connection caching helps a bit"),
70
 
        Bullet("Psyco helps as well"),
71
 
    ),
72
 
    Slide("Age",
73
 
        Bullet("Conch is new",
74
 
            SubBullet("First commit was July 15, 2002"),
75
 
        ),
76
 
        Bullet("Hasn't had a security aduit"),
77
 
        Bullet("Shouldn't be used in security-critical systems"),
78
 
    ),
79
 
    Slide("Applications with Conch",
80
 
        Bullet("Reality: MUD framework"),
81
 
        Bullet("Insults: async. replacement for curses in Conch apps"),
82
 
    ),
83
 
    Slide("Future Directions",
84
 
        Bullet("Generic authentication forwarding"),
85
 
        Bullet("Work on applications"),
86
 
        Bullet("Auditing of the code"),
87
 
        Bullet("Increase speed"),
88
 
        Bullet("SFTP/SCP"),
89
 
        Bullet("Key Agent"),
90
 
        Bullet("DNSSEC"),
91
 
    ),
92
 
    Slide("Conclusion",
93
 
        Bullet("Working implementation in Python"),
94
 
        Bullet("Much room for improvement"),
95
 
    ),
96
 
)
97
 
 
98
 
lecture.renderHTML(".", "conch-%d.html", css="main.css")