~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/chat.py

  • Committer: Matt Giuca
  • Date: 2009-05-26 04:15:23 UTC
  • mto: This revision was merged to the branch mainline in revision 1322.
  • Revision ID: matt.giuca@gmail.com-20090526041523-hsg5q2enlhvjb5y2
doc/man/architecture.rst: User management server.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
import cjson
23
23
import cStringIO
24
 
import md5
 
24
import hashlib
25
25
import sys
26
26
import os
27
27
import socket
53
53
            os._exit(0) # kill off parent again.
54
54
        os.umask(077)
55
55
 
 
56
        try:
 
57
            MAXFD = os.sysconf("SC_OPEN_MAX")
 
58
        except:
 
59
            MAXFD = 256
 
60
 
 
61
        # Close all file descriptors, except the socket.
 
62
        for i in xrange(MAXFD):
 
63
            if i == s.fileno():
 
64
                continue
 
65
            try:
 
66
                os.close(i)
 
67
            except OSError:
 
68
                pass
 
69
 
 
70
        si = os.open(os.devnull, os.O_RDONLY)
 
71
        os.dup2(si, sys.stdin.fileno())
 
72
 
 
73
        so = os.open(os.devnull, os.O_WRONLY)
 
74
        os.dup2(so, sys.stdout.fileno())
 
75
 
 
76
        se = os.open(os.devnull, os.O_WRONLY)
 
77
        os.dup2(se, sys.stderr.fileno())
 
78
 
56
79
    if initializer:
57
80
        initializer()
58
81
 
74
97
            env = cjson.decode(inp)
75
98
            
76
99
            # Check that the message is 
77
 
            digest = md5.new(env['content'] + magic).digest().encode('hex')
 
100
            digest = hashlib.md5(env['content'] + magic).hexdigest()
78
101
            if env['digest'] != digest:
79
102
                conn.close()
80
103
                continue
111
134
    sok = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
112
135
    sok.connect((host, port))
113
136
    content = cjson.encode(msg)
114
 
    digest = md5.new(content + magic).digest().encode("hex")
 
137
    digest = hashlib.md5(content + magic).hexdigest()
115
138
    env = {'digest':digest,'content':content}
116
139
    sok.send(cjson.encode(env))
117
140