hi there, folks:
I'd really like to release 0.7.0 but I would like it to be at least a
little bit tested before I do so. Could those of you with CVS trees check
everything out and see if it performs as advertised? Deeper bugs than
that will have to wait for the next release, but I'd at least like to know
if it works for someone other than me.
______ __ __ _____ _ _
| ____ | \_/ |_____] |_____|
|_____| |_____ | | | |
@ t w i s t e d m a t r i x . c o m
I am using a self-signed CA to issue server and client(s) certificates.
My server is using the standard Python ssl module.
One client, that is using twisted.internet.ssl, consistently fails to connect with:
On the Server: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:661),
On the Client: [WARNING] [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]
This is my code:
path = getModule(__name__).filePath.sibling(u'data')
txt = path.child(u'ca.crt').getContent()
cacert = ssl.Certificate.loadPEM(txt)
root = ssl.trustRootFromCertificates([cacert])
txt = path.child(u'client.pem').getContent()
mycert = ssl.PrivateCertificate.loadPEM(txt)
ctx = ssl.optionsForClientTLS(hostName, trustRoot=root, clientCertificate=mycert)
reactor.connectSSL(hostName, portNumber, factory, ctx)
I am using the latest git trunk code.
With a regular ssl client I don't have an issue.
A known bug?
I have a app that needs to send data as an http response. But the data is
produced slowly. More slowly then the time taken to transmit it.
The consumer keeps calling resumeProducing, but there is no data to send
What is the correct way to pause the consumer so that it does not keep
calling resumeProducing? unregisterProducer?
Then when the next block of data is available what is the correct way to
resume the consumer? registerProducer?
Related to that why does HTTPChannel.registerProducer convert a IPullProducer
into a IPushProducer using _PullToPush?
Sorry in advance for sending this to both Twisted mailing list. i was
not sure for which was it was most appropriate.
I have a design in which I would like to have a Twisted Application
which would periodically connect to a REST Server to pull
configuration information, i.e. as client and upon receiving that
information and processing would communicate spawn 1 or more clients
connecting to local process via Unix sockets to send them
I think I understand how the standard approach would be:
1. create a function that would be called with callLater/LoopingCall
2. in that function create my client, connect to the REST Server, get
1. Do you think my approach is correct? Essentially as explained I
need a service/daemon to periodically connect ot one server to pull
information and then connect to other local process to forward them
the relevant configuration.
2. How do I turn this into a twisted plugin? (daemon)