Commit Graph

79 Commits

Author SHA1 Message Date
Tim Abbott 52cbbdfc2f zephyr_mirror: De-zcrypt messages for which we have the key.
For now we only support the AES encryption type since the DES one is
probably not used anymore.

(imported from commit 222606db9f704917e74159e7d07a110187a236e6)
2013-08-20 15:02:07 -04:00
Tim Abbott c5fcbe103c zephyr_mirror: Handle syncing subs with invite-only streams.
(imported from commit ec8d0c0d13ff0a81fa4a5e1225e94e6dad997356)
2013-08-20 15:02:04 -04:00
Tim Abbott f446b72233 zephyr_mirror: Add option to control path to streams file.
This makes it easy to test the class mirror on just a single test
stream.

(imported from commit 3decb1ced54507683f1c0634df14f73e693104ef)
2013-08-20 14:57:13 -04:00
Tim Abbott 747a9c536f Rename the 'humbug' API module to 'zulip'.
(imported from commit b3a3d7c05459cbb0110cd0fbe2197d779f3a6264)
2013-08-08 10:22:31 -04:00
Tim Abbott 98bfd93c8c Change humbug => zulip in zephyr_mirror_backend internal variables.
(imported from commit 7cc5d78bfb5db8c9d5a44ed862da304d9e44ff0e)
2013-08-07 10:00:08 -04:00
Tim Abbott 4b90865d7d Change Humbug => Zulip in zephyr_mirror states.
(imported from commit 67542cd2ba93ff4b03c99b59645b7d22ed937337)
2013-08-07 10:00:07 -04:00
Tim Abbott 1f1af26048 Change Humbug => Zulip in text/comments.
(imported from commit 2f9d73431ae40e1b9e9e11bc2f4f62f566ae758a)
2013-08-07 10:00:07 -04:00
Tim Abbott 9c60ecb479 Escape @ when mirroring content back to Zephyr.
(imported from commit 0ab58b5e8a30c66fb6aeaccaebbe498092de1cd5)
2013-08-01 14:01:58 -04:00
Tim Abbott 0d077e7f41 [manual] Use api.zulip.com to access the Humbug API.
This needs to be deployed after the nginx configuration is deployed.

(imported from commit 167a3d9d27595d40883bb400ebcc44c4ad9b6a2f)
2013-07-25 17:27:46 -04:00
Tim Abbott 438739f6cc More miscellaneous humbughq.com=>zulip.com updates.
(imported from commit 9a3dbc4268f251c2c0b20d8b6a7e1dc672f1b385)
2013-07-25 17:27:45 -04:00
Tim Abbott 3f7c6f92c5 zephyr_mirror: Use Humbug full name as zsig.
(imported from commit 8cd24c4ff6c265084764ab367b46e4cb64e8c796)
2013-07-18 13:58:16 -04:00
Jessica McKellar 89fcfc579d zephyr mirror backend: Switch from Humbug to Zulip in user-visible text.
(imported from commit cc4da47373362babb2f5f57493831946b29d32cf)
2013-07-15 17:49:00 -04:00
Tim Abbott e219c2eaf5 zephyr_mirror: you no longer need to reload Humbug after subbing.
(imported from commit 23cb4e5c4b3300953e58c029150d4a980bac626e)
2013-06-28 15:57:29 -04:00
Tim Abbott ea8a80603a [manual] Change API URLs to be based on api.humbughq.com/api.
This must be deployed after we update our running nginx configuration
to serve api.humbughq.com.

(imported from commit b5c34ebdd595f55eecd6dca6a18a37f105107bd5)
2013-06-28 15:57:27 -04:00
Tim Abbott 1ec0ee0fd6 [manual] API add_subscriptions: Change arguments to support options.
Since in the future we might want requests to add subscriptions to
include things like colors, in_home_view, etc., we're changing the
data format for the add_subscriptions API call to pass each stream as
a dictionary, giving a convenient place to put any added options.

The manual step required here is updating the API version in AFS
available for use with the zephyr_mirror.py system.

(imported from commit 364960cca582a0658f0d334668822045c001b92c)
2013-06-25 16:34:45 -04:00
Tim Abbott 7ebd214f89 zephyr_mirror: Fix incorrect check for already running mirror bots.
(imported from commit 76e758697ac19362e79d4a4995b576f10d229514)
2013-05-20 23:29:53 -04:00
Zev Benjamin a04b7fb07e Fix use of logging instead of logger
(imported from commit cd25471e842e089d5032b07bcd83c6fe44d03a2d)
2013-05-09 13:50:21 -04:00
Tim Abbott d483500e64 zephyr_mirror: Use select to determine whether new messages are available.
(imported from commit a91f45aa9f3913f38285c050e574bf562b2af2df)
2013-05-09 10:35:49 -04:00
Tim Abbott 85742823d9 zephyr_mirror: Use json if simplejson is not available.
(imported from commit 4b5f6ff71067cd2697c864c715afbb3b9dd19302)
2013-05-09 10:35:47 -04:00
Tim Abbott e16932f8ab zephyr_mirror: Limit logging of errors when checking restart stamps.
(imported from commit 194b30d757a5f20d6d20bc8aed9154c6aece9837)
2013-05-09 10:35:47 -04:00
Keegan McAllister 75704ad1e8 Consistently use #!/usr/bin/env python
At Ksplice we used /usr/bin/python because we shipped dependencies as Debian /
Red Hat packages, which would be installed against the system Python.  We were
also very careful to use only Python 2.3 features so that even old system
Python would still work.

None of that is true at Humbug.  We expect users to install dependencies
themselves, so it's more likely that the Python in $PATH is correct.  On OS X
in particular, it's common to have five broken Python installs and there's no
expectation that /usr/bin/python is the right one.

The files which aren't marked executable are not interesting to run as scripts,
so we just remove the line there.  (In general it's common to have libraries
that can also be executed, to run test cases or whatever, but that's not the
case here.)

(imported from commit 437d4aee2c6e66601ad3334eefd50749cce2eca6)
2013-02-20 16:02:30 -05:00
Tim Abbott e15a0c3516 zmirror: Add backoff-retry code for the Zephyr=>Humbug initialization.
(imported from commit bde30d87d6dae75bbfdcd49b30a1f08b3c585ec7)
2013-02-15 17:28:59 -05:00
Jessica McKellar d7080bf649 zephyr mirror: remove unused imports.
(imported from commit 3ba0629f0a9009087b90fb6f795e855b569c2a67)
2013-02-06 14:22:17 -05:00
Jessica McKellar 5c89deed2f zephyr mirror: update subscription reporting to accomodate new results format.
(imported from commit 94a680d509f727962a07c18bc89edcb1146d8772)
2013-02-06 14:22:17 -05:00
Jacob Hurwitz 7fad925ae7 Change our default format to be more descriptive
This adds two characters to the length of our default format field, but
based on a conversation I had with kcr, I think this should probably be
okay. If it's a problem, the symptom we'll see is that certain people
will be unable to send zephyrs with this default format (so, certain
Humbug users will have their forwarding consistently fail).

We need to remember to, in a future commit (once everyone has started
using the updated version), remove the:
> or notice.format.endswith("@(@color(blue))")

(imported from commit 703ef60f524646bca8d5099c9066efabd365be43)
2013-02-05 14:27:56 -05:00
Jacob Hurwitz e5492e939e zephyr_mirror: Fix logging messages to multiple files under /tmp.
Also fixes the fact that certain output was not logged at all.

(imported from commit 0e63a9ef4105921ad7cbe3f7565ce7832c5db25e)
2013-02-05 14:27:55 -05:00
Jacob Hurwitz e475c863ba zmirror: Allow duplicate zmirror processes to die gracefully.
Fixes #602.

I replaced the SIGKILL with a SIGINT, and then catch SIGINT with a
handler.  This handler calls cancelSubs if necessary, and can later be
edited to perform other clean-up operations, too. I thought about, in
this same commit, changing the SIGTERM in
maybe_restart_mirroring_script to a SIGINT, but after tracing out the
code paths, I realized that isn't necessary. (The SIGTERM is
necessarily performed on a process that has not subscribed to any
zephyr classes, so cancelSubs is unnecessary. If we do think that we
may want to add additional clean-up operations in the future, though,
then it might be worth investigating changing this SIGTERM.)

(imported from commit 692b295be6cb40b0e4ec2ca0bc58c58056ed9bd9)
2013-02-05 14:27:55 -05:00
Tim Abbott de26e834dc zephyr_mirror: Read list of public streams from sync-public-streams ouput.
(imported from commit c91828534bfed4047c16a98b926335f4beded005)
2013-02-05 14:27:55 -05:00
Luke Faraone 57e0d37249 Move files around in the API.
Bots are not part of what we distribute, so put them in the repo root.

We also updated some of the bots to use relative path names.

(imported from commit 0471d863450712fd0cdb651f39f32e9041df52ba)
2013-02-01 15:52:28 -05:00