- Mar 29, 2016
-
-
Pulkit Goyal authored
-
timeless authored
-
- Mar 28, 2016
-
-
timeless authored
-
- Mar 29, 2016
-
-
Martin von Zweigbergk authored
Change 1e28ec9744bf (changegroup: move chunk extraction into a getchunks method of unbundle10, 2014-04-10) extracted some code to a getchunks() method and copied a comment about the changegroup format to the new method. The copy that remains in the old place, doesn't make much sense there, so let's remove it.
-
Martin von Zweigbergk authored
As reported by pyflakes
-
Matt Mackall authored
-
- Mar 26, 2016
-
-
Martin von Zweigbergk authored
When using treemanifests, only changegroup3 bundles can be created. However, there is currently no way of requesting a changegroup3 bundle, so we run into an assertion in changegroup.getbundler() when trying to get a changroup2 bundler. Let's avoid the traceback and print a short error message instead.
-
- Mar 25, 2016
-
-
Martin von Zweigbergk authored
The functions already have a lot in common, but were structured a little differently.
-
Martin von Zweigbergk authored
This also makes the "version" argument explicit (never relies on getlocalchangegroupraw()'s default), which I think is a good thing.
-
- Mar 28, 2016
-
-
Martin von Zweigbergk authored
writebundle() writes a bundle2 bundle or a plain changegroup1. Imagine away the "2" in "bundle2.py" for a moment and this change should makes sense. The bundle wraps the changegroup, so it makes sense that it knows about it. Another sign that this is correct is that the delayed import of bundle2 in changegroup goes away. I'll leave it for another time to remove the "2" in "bundle2.py" (alternatively, extract a new bundle.py from it).
-
- Mar 29, 2016
-
-
Matt Mackall authored
-
Matt Mackall authored
-
- Mar 23, 2016
-
-
Mateusz Kwapich authored
CVE-2016-3069 (5/5) Before recent refactoring we were not escaping calls to git at all which made such injections possible. Let's have a test for that to avoid this problem in the future. Reported by Blake Burkhart.
-
Mateusz Kwapich authored
CVE-2016-3069 (4/5)
-
Mateusz Kwapich authored
CVE-2016-3069 (3/5)
-
Mateusz Kwapich authored
CVE-2016-3069 (2/5) One test output changed because we were ignoring git return code in numcommits before.
-
Mateusz Kwapich authored
CVE-2016-3069 (1/5) To avoid shell injection and for the sake of simplicity let's use the common.commandline for calling git.
-
- Mar 21, 2016
-
-
Mateusz Kwapich authored
CVE-2016-3068 (1/1) Git's git-remote-ext remote helper provides an ext:: URL scheme that allows running arbitrary shell commands. This feature allows implementing simple git smart transports with a single shell shell command. However, git submodules could clone arbitrary URLs specified in the .gitmodules file. This was reported as CVE-2015-7545 and fixed in git v2.6.1. However, if a user directly clones a malicious ext URL, the git client will still run arbitrary shell commands. Mercurial is similarly effected. Mercurial allows specifying git repositories as subrepositories. Git ext:: URLs can be specified as Mercurial subrepositories allowing arbitrary shell commands to be run on `hg clone ...`. The Mercurial community would like to thank Blake Burkhart for reporting this issue. The description of the issue is copied from Blake's report. This commit changes submodules to pass the GIT_ALLOW_PROTOCOL env variable to git commands with the same list of allowed protocols that git submodule is using. When the GIT_ALLOW_PROTOCOL env variable is already set, we just pass it to git without modifications.
-
- Mar 17, 2016
-
-
Matt Mackall authored
CVE-2016-3630 (2/2) This addresses part of a vulnerability in binary delta application.
-
Matt Mackall authored
CVE-2016-3630 (1/2) This addresses part of a vulnerability in application of binary deltas.
-
- Mar 28, 2016
-
-
Matt Mackall authored
-
liscju authored
Method localrepo.setparents invokes begin/endparentchange internally, so there is no need to invoke it explicitly in debugsetparents.
-
- Mar 27, 2016
-
-
Gregory Szorc authored
Security should not be opaque.
-
Gregory Szorc authored
It is no longer needed because we have a single code path.
-
Gregory Szorc authored
Now that we have a fake SSLContext instance, we can unify the code paths for wrapping sockets to always use the SSLContext APIs. Because this is security code, I've retained the try..except to make the diff easier to read. It will be removed in the next patch. I took the liberty of updating the inline docs about supported protocols and how the constants work because this stuff is important and needs to be explicitly documented.
-
Gregory Szorc authored
We now have a newer block accessing SSLContext. Let's move this code to make subsequent refactorings of the former block easier.
-
Gregory Szorc authored
Python <2.7.9 doesn't have a ssl.SSLContext class. In this patch, we implement the interface to the class so we can have a unified code path for all supported versions of Python. This is similar to the approach that urllib3 takes.
-
Gregory Szorc authored
An upcoming patch will introduce a global SSLContext type so we have a single function used to wrap sockets. Prepare for that by introducing module level constants for disabling SSLv2 and SSLv3.
-
Gregory Szorc authored
Pythons older than 2.7.9 are lacking the modern ssl module and have horrible security. Let's document this explicitly.
-
Pulkit Goyal authored
-
- Mar 28, 2016
-
-
timeless authored
-
timeless authored
consistently use realpath+expanduser
-
timeless authored
Since not everyone is running py3.5 and code changes periodically, avoid pinning line numbers for invalid syntax errors.
-
timeless authored
6d7da0901a28 removed one item...
-
- Mar 17, 2016
- Mar 26, 2016
-
-
Katsunori FUJIWARA authored
Before this patch, test-convert-p4-filetypes.t fails (at least with 2015.2/1366233 version of p4/p4d), because some files below are omitted in expected output for revision 1. - file_tempobj - file_xtempobj These files are: - add-ed at revision 0, and - edit-ed at revision 1 According to perforce command reference below, file type 'tempobj' and 'xtempobj' imply '+S' modifier, which indicates that "Only the head revision is stored". This means that these files should appear only in the most recent revision (= revision 1). https://www.perforce.com/perforce/doc.current/manuals/cmdref/file.types.html BTW, test-convert-p4-filetypes.t with 2015.2/1366233 version of p4/p4d fails similarly also at recent revisions for hgext/convert/p4.py in 2015. Therefore, this patch should be reviewed by perforce guru, to examine whether this failure depends on version (and/or configuration) of p4/p4d or not.
-
- Mar 21, 2016
-
-
Jordi Gutiérrez Hermoso authored
The "r" option for this feature was copied into Mercurial from crecord, but the actual implementation never made it into hg until now. It's a moderately useful feature that allows the user to edit the patch in a text editor before comitting it for good. This requires a test, so we must also enable a corresponding testing 'R' option that skips the confirmation dialogue. In addition, we also need a help text for the editor when reviewing the final patch. As for why this is a useful feature if we can already edit hunks in an editor, I would like to offer the following points: * editing hunks does not show the entire patch all at once ** furthermore, the hunk "tree" in the TUI has no root that could be selected for edition * it is helpful to be able to see the entire final patch for confirmation ** within this view, the unselected hunks are hidden, which is visusally cleaner ** this works as a final review of the complete result, which is a bit more difficult to do conceptually via hunk editing * this feature was already in crecord, so it was an oversight to not bring it to core * it works and is consistent with editing hunks
-
- Mar 20, 2016
-
-
Jordi Gutiérrez Hermoso authored
This help message can be useful for other situations, such as for the review extension. It's also easier to write it at the top-level indentation with triple-quoted strings instead of inserting comment characters and newlines programmatically.
-
- Mar 21, 2016
-
-
Jordi Gutiérrez Hermoso authored
The previous version of this code did a lot of dancing around a temporary edit file that ui.edit already handles.
-