aboutsummaryrefslogtreecommitdiffstats
path: root/whisper/whisperv6
Commit message (Expand)AuthorAgeFilesLines
* whisperv6: remove duplicated code (#18015)Corey Lin2018-12-031-16/+1
* whisper: log errors on failed tests (#18134)Anton Evangelatov2018-11-201-1/+1
* all: new p2p node representation (#17643)Felix Lange2018-09-252-16/+14
* all: simplify s[:] to s where s is a slice (#17673)Emil2018-09-151-1/+1
* whisper: add light mode check to handshake (#16725)b00ris2018-09-055-18/+115
* whisper: fix loop in expire() (#17532)Adam Babik2018-08-292-14/+21
* all: remove the duplicate 'the' in annotations (#17509)Wenbiao Zheng2018-08-271-1/+1
* whisper: fixed broken partial topic filteringEugene Valeyev2018-08-132-53/+0
* whisper: remove unused error (#17315)b00ris2018-08-071-7/+0
* all: switch out defunct set library to different one (#16873)Ralph Caraveo III2018-07-163-11/+11
* whisper: Reduce message loop log from Warn to Info (#17055)AdriĆ  Cidre2018-06-261-1/+1
* #15685 made peer_test.go more portable by using random free port instead of ...Armin Braun2018-06-141-25/+20
* crypto: replace ToECDSAPub with error-checking func UnmarshalPubkey (#16932)Felix Lange2018-06-121-6/+3
* whisper/whisperv6: post returns the hash of sent message (#16495)gluk2562018-04-191-14/+26
* build: enable goimports and varcheck linters (#16446)thomasmodeneis2018-04-181-4/+0
* whisper: fix issue in topic list copy (#16381)Guillaume Ballet2018-03-272-3/+82
* ecies: drop randomness parameter from `PrivateKey.Decrypt` (#16374)David Huie2018-03-261-1/+1
* whisper: final refactoring (#16259)gluk2562018-03-071-0/+8
* Merge pull request #16231 from gluk256/303-readergluk2562018-03-031-0/+4
|\
| * whisper: filereader mode introduced to wnodeVlad2018-03-021-0/+4
* | whisper/whisperv6: delete unused function (#16234)gluk2562018-03-031-14/+0
|/
* whisper: topics replaced by bloom filtersVlad2018-03-016-32/+32
* Merge pull request #16210 from gluk256/288-filter-optimizationGuillaume Ballet2018-03-014-78/+76
|\
| * whisper: style fixesVlad2018-02-282-17/+10
| * whsiper: refactoringVlad2018-02-284-61/+22
| * whisper: message filtering optimizedVlad2018-02-281-11/+55
* | whisper: fix typob00ris2018-02-281-2/+2
* | whisper: fixed dataraceb00ris2018-02-281-7/+11
|/
* whisper: refactoringVlad2018-02-232-28/+3
* Merge pull request #16172 from gluk256/244-light-clientgluk2562018-02-232-4/+19
|\
| * whisper: light client mode introducedVlad2018-02-232-4/+19
* | whisper: Fix race condition in whisperv6/peer.goPedro Pombeiro2018-02-211-0/+6
|/
* whisper: test timeout extended (#16088)gluk2562018-02-151-25/+74
* whisper: get wnode to work with v6 (#16051)Guillaume Ballet2018-02-108-36/+36
* whisper: bloom filter refactoring (#16046)gluk2562018-02-092-16/+21
* whisper: Seal function fixed (#16048)gluk2562018-02-091-6/+14
* whisper: improve a log message to analyze a travis issueGuillaume Ballet2018-02-061-1/+1
* whisper: change the whisper message format so as to add the payload size (#15...gluk2562018-01-308-183/+193
* whisper: remove linter warnings (#15972)Guillaume Ballet2018-01-2618-326/+361
* whisper: fix empty topic (#15811)b00ris2018-01-263-8/+46
* whisper/whisperv6: implement pow/bloom exchange protocol (#15802)gluk2562018-01-127-75/+451
* all: regenerate codecs with gencodec commit 90983d99de (#15830)Felix Lange2018-01-083-34/+34
* various: remove redundant parentheses (#15793)Furkan KAMACI2018-01-031-2/+2
* whisper/whisperv6: PoW requirement (#15701)gluk2562017-12-215-54/+185
* whisper/whisperv6: message bundling (#15666)gluk2562017-12-212-20/+33
* all: use gometalinter.v2, fix new gosimple issues (#15650)Zach2017-12-131-2/+1
* whisper: sym encryption message padding includes salt (#15631)Guillaume Ballet2017-12-112-0/+60
* whisper/whisperv6: remove Version from the envelope (#15621)Guillaume Ballet2017-12-085-65/+28
* whisper/whisperv6: remove aesnonce (#15578)Guillaume Ballet2017-12-088-73/+168
* whisper: rename EnvNonce to Nonce in the v6 Envelope (#15579)Guillaume Ballet2017-12-011-4/+4
* build: enable unconvert linter (#15456)ferhat elmas2017-11-112-3/+3
* whisper/whisperv6: initial commit (clone of v5) (#15324)gluk2562017-11-0418-0/+5589
, vfolder_recipient), BONOBO_UI_VERB ("MessageFilterSubj", filter_subject), BONOBO_UI_VERB ("MessageFilderSndr", filter_sender), BONOBO_UI_VERB ("MessageFilderRecip", filter_recipient), /* Folder Menu */ BONOBO_UI_VERB ("FolderMarkAllRead", mark_all_seen), BONOBO_UI_VERB ("FolderDeleteAll", mark_all_deleted), BONOBO_UI_VERB ("FolderExpunge", expunge_folder), BONOBO_UI_VERB ("FolderConfig", configure_folder), /* Toolbar specific */ BONOBO_UI_VERB ("MailGet", send_receieve_mail), BONOBO_UI_VERB ("MailCompose", compose_msg), BONOBO_UI_VERB_END }; static void set_pixmap (Bonobo_UIContainer container, const char *xml_path, const char *icon) { /* * FIXME: this is broken, and needs fixing * we probably want just to pass a filename in as filename * and not to have the mess with gnome_pixmap_file as well. */ /* char *path, *parent_path; xmlNode *node; path = g_concat_dir_and_file (EVOLUTION_DATADIR "/images/evolution/buttons", icon); node = bonobo_ui_container_get_tree (container, xml_path, FALSE, NULL); g_return_if_fail (node != NULL); bonobo_ui_util_xml_set_pix_fname (node, path); parent_path = bonobo_ui_xml_get_parent_path (xml_path); bonobo_ui_component_set_tree (NULL, container, parent_path, node, NULL); xmlFreeNode (node); g_free (parent_path); g_free (path);*/ } static void update_pixmaps (Bonobo_UIContainer container) { set_pixmap (container, "/Toolbar/MailGet", "fetch-mail.png"); set_pixmap (container, "/Toolbar/MailCompose", "compose-message.png"); set_pixmap (container, "/Toolbar/Reply", "reply.png"); set_pixmap (container, "/Toolbar/ReplyAll", "reply-to-all.png"); set_pixmap (container, "/Toolbar/Forward", "forward.png"); set_pixmap (container, "/Toolbar/Move", "move-message.png"); set_pixmap (container, "/Toolbar/Copy", "copy-message.png"); } static void control_activate (BonoboControl *control, BonoboUIHandler *uih, FolderBrowser *fb) { GtkWidget *folder_browser; Bonobo_UIHandler remote_uih; BonoboUIComponent *component; Bonobo_UIContainer container; remote_uih = bonobo_control_get_remote_ui_handler (control); bonobo_ui_handler_set_container (uih, remote_uih); bonobo_object_release_unref (remote_uih, NULL); container = bonobo_ui_compat_get_container (uih); g_return_if_fail (container != CORBA_OBJECT_NIL); folder_browser = bonobo_control_get_widget (control); component = bonobo_ui_compat_get_component (uih); bonobo_ui_component_add_verb_list_with_data ( component, verbs, folder_browser); bonobo_ui_container_freeze (container, NULL); { /* FIXME: sweeten this whole function */ char *fname; xmlNode *ui; fname = bonobo_ui_util_get_ui_fname ("evolution-mail.xml"); g_warning ("Attempting ui load from '%s'", fname); ui = bonobo_ui_util_new_ui (component, fname, "evolution-mail"); bonobo_ui_component_set_tree (component, container, "/", ui, NULL); g_free (fname); xmlFreeNode (ui); } if (mail_config_thread_list ()) bonobo_ui_container_set_prop ( container, "/menu/View/Threaded", "state", "1", NULL); else bonobo_ui_container_set_prop ( container, "/menu/View/Threaded", "state", "0", NULL); bonobo_ui_component_add_verb ( component, "ViewThreaded", (BonoboUIVerbFn) message_list_toggle_threads, FOLDER_BROWSER (folder_browser)->message_list); create_ondemand_hooks (fb, uih); update_pixmaps (container); bonobo_ui_container_thaw (container, NULL); } static void control_deactivate (BonoboControl *control, BonoboUIHandler *uih, FolderBrowser *fb) { bonobo_ui_component_rm ( bonobo_ui_compat_get_component (uih), bonobo_ui_compat_get_container (uih), "/", NULL); } static void control_activate_cb (BonoboControl *control, gboolean activate, gpointer user_data) { BonoboUIHandler *uih; uih = bonobo_control_get_ui_handler (control); g_assert (uih); if (activate) control_activate (control, uih, user_data); else control_deactivate (control, uih, user_data); } static void control_destroy_cb (BonoboControl *control, gpointer user_data) { GtkWidget *folder_browser = user_data; control_list = g_list_remove (control_list, control); gtk_object_destroy (GTK_OBJECT (folder_browser)); } BonoboControl * folder_browser_factory_new_control (const char *uri, const Evolution_Shell shell) { BonoboControl *control; GtkWidget *folder_browser; folder_browser = folder_browser_new (shell); if (folder_browser == NULL) return NULL; if (!folder_browser_set_uri (FOLDER_BROWSER (folder_browser), uri)) { gtk_object_sink (GTK_OBJECT (folder_browser)); return NULL; } gtk_widget_show (folder_browser); control = bonobo_control_new (folder_browser); if (control == NULL) { gtk_object_destroy (GTK_OBJECT (folder_browser)); return NULL; } gtk_signal_connect (GTK_OBJECT (control), "activate", control_activate_cb, folder_browser); gtk_signal_connect (GTK_OBJECT (control), "destroy", control_destroy_cb, folder_browser); control_list = g_list_prepend (control_list, control); return control; } GList * folder_browser_factory_get_control_list (void) { return control_list; }