Opened 8 years ago

Last modified 7 years ago

#2320 enhancement new

Implement XMPP server-to-server protocols

Reported by: ralphm Owned by:
Priority: normal Milestone:
Component: words Keywords:
Cc: ralphm, njoyce Branch:
Author: Launchpad Bug:

Description


Attachments (1)

patch.diff (56.2 KB) - added by ralphm 7 years ago.
First draft of server-to-server patch

Download all attachments as: .zip

Change History (7)

comment:1 Changed 8 years ago by njoyce

  • Cc njoyce added

Changed 7 years ago by ralphm

First draft of server-to-server patch

comment:2 Changed 7 years ago by ralphm

The attached file patch.diff was send a month ago by njoyce. I think this is the best way to discuss it.

  • There are a couple of odd random string appearances in the patch that I couldn't place.
  • You seem to have (automatically) changed spacing in various locations. We keep two empty lines between classes/functions and one between class methods.
  • Please. no trailing spaces!
  • Newly written tests should follow the method name guidelines: test followed by an underscore and then the rest in camel case, starting with a lowercase character.
  • In test_jabberserver.py you have a test against produced headers: DialbackListenTest.testHeader. I don't think this is the proper location. It should belong in test_jabberxmlstream.py. Also, it is wrong, since in the test the other server sends no version in the stream header, the receiving server should determine the common version to be 0.0, so you cannot send back features.
  • Linked to the previous, the logic for handling receiving initializers need their own tests, instead of being tested through initializers.
  • Loopback stuff should maybe also be done as an initializer, but I'm not sure about that yet.

That was my first look. I'm going to take some obvious fixes in the dialback code and merge the branch forward. Then I'll look at the tests and new code in more detail.

Thanks a bunch for this first take.

comment:3 Changed 7 years ago by ralphm

(Again, but with proper formatting and an additional point)

The attached file patch.diff was send a month ago by njoyce. I think this is the best way to discuss it.

  • There are a couple of odd random string appearances in the patch that I couldn't place. Maybe a few search/replaces went wrong.
  • You seem to have (automatically) changed spacing in various locations. We keep two empty lines between classes/functions and one between class methods.
  • Please. no trailing spaces!
  • Newly written tests should follow the method name guidelines: test followed by an underscore and then the rest in camel case, starting with a lowercase character.
  • Use pyflakes to discover unused imports. Does other checks, too.
  • In test_jabberserver.py you have a test against produced headers: DialbackListenTest.testHeader. I don't think this is the proper location. It should belong in test_jabberxmlstream.py. Also, it is wrong, since in the test the other server sends no version in the stream header, the receiving server should determine the common version to be 0.0, so you cannot send back features.
  • Linked to the previous, the logic for handling receiving initializers need their own tests, instead of being tested through initializers.
  • Loopback stuff should maybe also be done as an initializer, but I'm not sure about that yet.

That was my first look. I'm going to take some obvious fixes in the dialback code and merge the branch forward. Then I'll look at the tests and new code in more detail.

Thanks a bunch for this first take.

comment:4 Changed 7 years ago by exarkun

  • Milestone changed from Words-8.0.0+1 to Twisted-8.2

Milestone Words-8.0.0+1 deleted

comment:5 Changed 7 years ago by ralphm

  • Milestone Twisted-8.2 deleted

comment:6 Changed 4 years ago by <automation>

  • Owner ralphm deleted
Note: See TracTickets for help on using tickets.