Mailpile
Mailpile copied to clipboard
Project dependencies may have API risk issues
Hi, In Mailpile, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
appdirs*
setuptools>=11.3
cryptography>=1.3.4
lxml>=2.3.2
imgsize*
Jinja2*
markupsafe*
py3DNS*
PySocks*
pgpdump*
pillow*
pbr*
fasteners*
stem>=1.4
icalendar*
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project, The version constraint of dependency setuptools can be changed to >=51.3.0,<=54.1.1. The version constraint of dependency Jinja2 can be changed to >=2.7,<=3.1.2.
The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the setuptools
distutils.spawn.find_executable Command.__init__ Extension.__init__
The calling methods from the Jinja2
Extension.__init__
The calling methods from the all methods
score.add smtp_do_or_die self._session.config.stop_workers self._options.iteritems lines.pop.upper self.__is_shut_down.clear self.find_one_part_value msg_ptr.mmbx.get_file_by_ptr.read rv.upper form.submit get_shared_mailpile self._load_cookies self._overwrite_with plugins.outgoing_email_crypto_transform opt_obj.get thr_keys.sort ti.endswith data.find scope.split key_errors.append self.select res.append Message Command._error tcheck self.register_css self.variables_as_text idx.keylines.set_attr play_nice_with_threads r.startswith self._clean_domain args.bb.parse_args.run self.flag_cache.get self.fd.write self.CreateForward HeaderPrintMUADetails username.lower.split mailbox.mbox.clear random.sample variables.append processes.iteritems value.replace.replace.strip human_tags.join.lower happy flavor.self.flavor_properties.get.items self._hint_days MailPileUnittest.__init__ self.wake_up self.buffered.startswith ports.append term.startswith prints.add func.__doc__.strip _plugins.get_data_kw_extractors history_vcl.value.split protocols.values self.index.MSG_TAGS.msg_info.split langs.sort ConfigRLock self._do_search composer.run opt.lower self.reset_event_discovery_state os._exit binary.upper self._import out.write msg_id.split.split headers.extend self.mailbox.get_file_by_ptr zlib.compress t.get gen.flatten session.ui.html_variables.get NotImplemented pvars.update columns.sort fingerprint.lower self._STATUS_ENCRYPTION.get msg_thr_mid.split BaseMailSource._mailbox_sort_key self._conn.close ephemeral_mid.rsplit self.version_tuple self.session.config.load_pickle part.set_charset self.is_editable_mailbox adata.normalized user_counts.get config.tags.values root.lower SetLoggedIn retrained.append self._rescan_vcards build.log.warning config.vcards.find_vcards result.append self.display_name self._report_option_error Compose words.append self._sorted_msg_ptrs os.mkdir self.env.session.config.vcards.get_vcard self._conn.response be.buf.find rcpts.get self._defaults.keys self._lookup self._prune_completed vcards.iteritems tempfile.mkdtemp name.self.scripts.replace session.config.passphrases.is_set self.JOBS.extend self._maybe_gzip HelpSplash msg_data.split.split self._STATUS_SIGNATURE.get self._get_account toc_id.self.get_file.read save_error.__str__ OpenMailbox parse_usermap full_url.lower self.flavor_properties.get self._write_postamble self._match self.reset_rules_from_source self.send_http_redirect keylist.keys os.path.realpath _g self.do_POST pre_command.split result.sort self.session.config.tags.get mbx.apply_tags.extend key_id.found_keys.scores.update sdata.append self._background_save path.display_basename section.result.append authors.get find_message_id self._lock.release self.kid.poll error_file.read Completer tick_func config.event_log.events k.lower self.STATUSES.index started_callback term.rsplit word.startswith user_probably_asleep base64.encodestring ChecksummingStreamer._sha256_callback self.log.debug threading.Thread json.dump self._unpack bytearray config.filters.append self.sys.plugins.keys request.send_standard_headers results.pop BaseMailSource.quit self._form_defaults arg.raw_fp.startswith self.GetOAuthURL self.WORKERS.append ps.communicate framework.default_config self._tag self._shards.append islice head.check_output.strip.split EncryptedDict.rdata_value public_keys.iteritems log self.MSG_THREAD_MID.m_msg_info.split self._mbox_cache.append self._vcard_get notify.keys tok_info.user.OAuth2.XOAuth2Response.encode.replace self._real_scan_one self._write_headers FixupForWith gzipped.getvalue self._failed self.add_new_msg self.GetOAuthConfig password.params.int.params.int.params.int.salt.cryptography.hazmat.backends.default_backend.Scrypt.derive.encode config.index.save_changes j.g.i.j.g.len.range.j.j.g.join.replace self._RECORD_BYTES.self._fd.read.decode Update.command self.RENAMED.keys proto.service_domains.append ops.append dst.extend gpc.bootstrap _normalize_key method.upper session.results.index i18n_disabler GPG_BINARY b64w GnuPG21Curve25519KeyGenerator mailbox.Maildir option.lower self.bg_setup_stage_1 vcard_importers.gpg.append e.to_json self.index.MSG_REPLIES.conv.get_msg_info.split HealthCheck _.self.result.strip part.get_boundary tbird_src.take_over_mailbox noproto.split self._vcard_set problems.append Cache keyword.replace delta.body.rsplit droplist.append textpart.strip self.reap self._gnupg.export_pubkeys ctrl.authenticate self.as_config self.auth_type.lower MailpileState ConfigRule mailbox.mbox.__setitem__ addr.split insrv.get os.path.dirname re.compile m.msg_mid AutocryptRecord.Load config.index.search self.RawResult fd.read.decode e.str.split address.partition params.append fd.seek socks.append start.startswith self.sys.path.get f.startswith idx.get_msg_id event_log.log file.write es.close sendits.iteritems self.close eids.add self.__unicode__.lower opt.lower.sect.self._options.display_name _open_pop3_mailbox self.set_name crypto_format.split os.urandom self._key_generator.start build.log.info t.tor_controller.remove_ephemeral_hidden_service self._get_mx1 self.is_valid self.get_msg_size newpart.keys groups.append UnorderedPicklable kid.wait lines.pop run event.source_class.Cancel lookup_crypto_keys self.idx.get_conversation urllib.quote_plus ngettext self.Window.super.__init__ mbx.path.startswith hdr_value.split command.template_path vcards.choose_from_address MIMEImage GnuPG l.as_vcardline pidfile.open.read self.mask_path cPickle.dump ContactVCard self.CommandResult t.start container.append tags.session.Tag.run config.get_mail_source mp.set plaintext.hashlib.md5.hexdigest.startswith self._read_filter fd.readline.strip self.config.get_passphrase super iter Cookie.SimpleCookie GetThreadEvent msg.rstrip self.write_end.close KEY_LOOKUP_HANDLERS.sort newmsg.get_payload self.crypto self._sleep be.buf.lower self.config.items payload.decode reg self.__passkey_recurse__ json_data.splitlines links.append xml_attrs new_file.tell self._delete_routes names.extend rval config._unlocked_get_all_workers self.set_event_discovery_state GnuPGEventUpdater key_info.append mailboxes.sort unsquish_mimetype server.ehlo_or_helo_if_needed self.event.update_args NamedTemporaryFile part.get_filename self._mk_command cls.RedirectURI TOFU_CHECK_HISTORY.keys self.tempfile.read self.resource gzip_obj.close self.data_file_and_mimetype time.ctime value.unicode.lower sys.stderr.flush filters.sort self._conn._new_tag ImportError part.get self.session.config.save_worker.add_unique_task dict.keys i.self._idx.Email.get_msg thr.join self._friendly_bytes m.name.lower self._reorder_all_tags sm_connect_server os.path.isdir MakeBoundary self._imap self.event_log.ui_unwatch self._restore_PGP_keys x.split make_new_source self._name.upper CardDAV os.path.splitext encoded_hdr.strip self.server.make_session_id vcard.add self.config.get_mailboxes self.iterkeys self.pgp_packet_hdr_parse _make_boundary self.directory_id NoColors.__init__ ti.split self.request.wfile.write guard self._create_contacts l.append srs.set_results self.CreateMessage TemplateNotFound cfg.key_types mailpiles.values hidden_services.iteritems self._log_result self.get_only_text_part _mailpile_key_list self.decryption_key_func kws.add socket.create_connection s.display conn.quit idx.scan_mailbox ln truthy reduce string.replace.replace self._tag_emails self._choose_hint Worker._failed b.release splits.pop _plugins.register_config_section self._hashgrey_ok authors.sort self.rfile.read config.save_worker.is_idle self.sigblock.set_param self._process_manifest_pass_two self._recently_used_crypto p.encode keyword.self._cmds variables.code.InteractiveConsole.interact self.Cell value.encode.replace okay.append self._probe_port mbox_cls self.session.config.get_tags conn.sock.settimeout self._get_fd tree.keys ListFilters.command Compose.CreateMessage self._update_dict X self.JOBS_LATER.append self.WordInfoClass self.expect_exact kwargs.keys args.sort self.compact_to_list repr obj.add_part which.append tagname.replace match.group.replace.replace.replace.replace.replace self.as_vCard self._fd.readlines manifest.get.get TAGGERS.tagger.TAGGERS.get matches.groups full_method_name.rsplit mbox.get_bytes config.get_tag partial_read_ok.gpg_input.proc.stdin.wtf.StreamWriter.join proc.stdin.write line_ids.append hostport.split self._available_opts kw.startswith p.startswith self._add_padding play_nice self.index.index_email mbx_id.lower config.load existing.get ctype.split self.source._fmt_path p.raw_fp.startswith full_name.split s.TEST_MSG.splitlines pickle.load signal.signal self.toc_values session.Quit.run prompt.raw_input.decode self.write json.load expl.update self.data.iteritems ts.keys key_id.lower.session.session.config.index.search.as_set opt.lower.sect.self._options.unconvert getrandbits outputfd.close session.load_context self.force_display_headers line.decode.strip self.bin_path.append action.extend vcl.name.startswith expanded_ops.sort config.sys.mailbox.append vcards.find_vcards vcard.sources self.source._namespace_info CONTACT_IMPORTERS.iteritems self._unique_tag_name keyword.build.config.items capture.render_mode.split wrap elapsed_datetime next cgi.parse_header self._configure_default_plugins app_arguments value.unquote.decode created.append key.startswith er.close build.log.warn vcl.set_attr self._test_login_and_proto self.SIGNATURE_TYPE.split self.LOCK.notify MailpileSeleniumTest._get_mailpile_sspec c.options encryption_info.append groups.pop args.join.subprocess.check_output.decode.strip select.select msg.lower pmbx.flush local.split keyinfo.add_subkey_capabilities self._email_view_pairs.values parent.__getitem__ config.passphrases.set_passphrase os.path.getmtime os.path.abspath hint fingerprints.extend mbox.get_file prompt.raw_input.decode.strip session.searched.extend tagname.session.config.get_tag.update GPG_VERSIONS.get reindex.append self.file_id path.raw_fp.split imap.mailbox_info emails.e.e.msg_mid.self.session.AddContact.run CRYPTO_POLICIES.append key_info_class self._shutdown self.db.cdict.keys options.load_defaults bb.parse_args mailbox._PartialFile qr.split TXT_RE_QUOTE.replace keep_open.extend AccessError socket.inet_pton NoFromAddressError pColumnDict.match source_obj.take_over_mailbox self.kid.wait backup_data.encode self.expire delete_mailpile lmfn.abs_paths.append msg_id.split self._summarize_auth val.strip tasksToBeExecuted.append scope.named_file s.unescape kwargs.args.command.self.env.session.Action.as_dict idx.lines.startswith path.encode self.result.get self.flatten unittest.TestCase.__init__ session.config.filters.append self._extract_date_ts self._default_policy pl.startswith self.component_id m_subj.lower.replace action.split pLine.sub pCell.findall reply_mids.append crypto.decrypt subprocess.check_output end.append self.register_worker self._getclues self.set_passphrase dedup.append self.last_headers.split self.start mbox.describe_msg_by_ptr config.sys.plugins_early.append self._idx c._types.append keylines.sort proc.stderr.read self._decode_value cfg.get_tag session.config.index.sort_results r.rsplit self._offset args.join.decode part.as_string os.fdopen CC_CONFIG_MAP.get keyinfo.recalculate_expiration record.iv.self._aes_key.aes_ctr_encrypt.iv.encode self.gpg_pass.read wervd.MailpileMailbox cls.ustr.super.__new__ pgpdata.append found_keys.values text.strip.splitlines self._delete_sources self.cache.insert VCard.command MorkImporter shutil.rmtree self.auto_configure_tor reasons.get UserSessionCache fset rpc_server.serve_forever part.is_multipart self.splitter.setOrientation index.MSG_TAGS.msg_info.split locks.locked hl.strip.split src.get_metadata_keywords GnuPG14KeyGenerator self._discover_plugins check self.tempfile.close app_args.parse_args quopri.encodestring self.source_class.EventAsHtml Window self.version.add_header tls_new_context raw.reverse self._path.os.path.join.open.write config.oauth.providers.keys self.session.config.sys.md5sum_blacklist.split in_fd.close self.GIT_DIFF_LINE.match self.LOADED.append lines.join.lower id_src_map.get extra_headers.append good.append crypto.as_set ...
@Singletoned Could please help me check this issue? May I pull a request to fix it? Thank you very much.
As stated in the top-level README, development on this repo is halted (the app is being rewritten from scratch), unless a maintainer steps up. So please don't waste your time on pull requests.
Leaving this issue open since it's absolutely correct and it's worth flagging in case development on this branch does resume.
Mailpile v1 is no longer being developed, so at this point this probably won't get fixed.
Mailpile v2 is being written in Python 3, but it's not ready yet.
Thanks everyone for helping out here!