OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """A bare-bones and non-compliant XMPP server. | 5 """A bare-bones and non-compliant XMPP server. |
6 | 6 |
7 Just enough of the protocol is implemented to get it to work with | 7 Just enough of the protocol is implemented to get it to work with |
8 Chrome's sync notification system. | 8 Chrome's sync notification system. |
9 """ | 9 """ |
10 | 10 |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 '<stream:stream from="%s" id="%s" ' | 206 '<stream:stream from="%s" id="%s" ' |
207 'version="1.0" xmlns:stream="http://etherx.jabber.org/streams" ' | 207 'version="1.0" xmlns:stream="http://etherx.jabber.org/streams" ' |
208 'xmlns="jabber:client">') | 208 'xmlns="jabber:client">') |
209 | 209 |
210 # Used when in the _INITIAL_STREAM_NEEDED state. | 210 # Used when in the _INITIAL_STREAM_NEEDED state. |
211 _AUTH_STANZA = ParseXml( | 211 _AUTH_STANZA = ParseXml( |
212 '<stream:features xmlns:stream="http://etherx.jabber.org/streams">' | 212 '<stream:features xmlns:stream="http://etherx.jabber.org/streams">' |
213 ' <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">' | 213 ' <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">' |
214 ' <mechanism>PLAIN</mechanism>' | 214 ' <mechanism>PLAIN</mechanism>' |
215 ' <mechanism>X-GOOGLE-TOKEN</mechanism>' | 215 ' <mechanism>X-GOOGLE-TOKEN</mechanism>' |
| 216 ' <mechanism>X-OAUTH2</mechanism>' |
216 ' </mechanisms>' | 217 ' </mechanisms>' |
217 '</stream:features>') | 218 '</stream:features>') |
218 | 219 |
219 # Used when in the _AUTH_NEEDED state. | 220 # Used when in the _AUTH_NEEDED state. |
220 _AUTH_SUCCESS_STANZA = ParseXml( | 221 _AUTH_SUCCESS_STANZA = ParseXml( |
221 '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>') | 222 '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>') |
222 | 223 |
223 # Used when in the _AUTH_NEEDED state. | 224 # Used when in the _AUTH_NEEDED state. |
224 _AUTH_FAILURE_STANZA = ParseXml( | 225 _AUTH_FAILURE_STANZA = ParseXml( |
225 '<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>') | 226 '<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>') |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 self._connections.discard(xmpp_connection) | 586 self._connections.discard(xmpp_connection) |
586 self._handshake_done_connections.discard(xmpp_connection) | 587 self._handshake_done_connections.discard(xmpp_connection) |
587 | 588 |
588 def ForwardNotification(self, unused_xmpp_connection, notification_stanza): | 589 def ForwardNotification(self, unused_xmpp_connection, notification_stanza): |
589 if self._notifications_enabled: | 590 if self._notifications_enabled: |
590 for connection in self._handshake_done_connections: | 591 for connection in self._handshake_done_connections: |
591 print 'Sending notification to %s' % connection | 592 print 'Sending notification to %s' % connection |
592 connection.ForwardNotification(notification_stanza) | 593 connection.ForwardNotification(notification_stanza) |
593 else: | 594 else: |
594 print 'Notifications disabled; dropping notification' | 595 print 'Notifications disabled; dropping notification' |
OLD | NEW |