|
294c6f29
|
2014-08-16T22:12:13
|
|
http: make sure we can consume the data we request
The recv buffer (parse_buffer) and the buffer have independent sizes and
offsets. We try to fill in parse_buffer as much as possible before
passing it to the http parser. This is fine most of the time, but fails
us when the buffer is almost full.
In those situations, parse_buffer can have more data than we would be
able to put into the buffer (which may be getting full if we're towards
the end of a data sideband packet).
To work around this, we check if the space we have left on our buffer is
smaller than what could come from the network. If this happens, we make
parse_buffer think that it has as much space left as our buffer, so it
won't try to retrieve more data than we can deal with.
As the start of the data may no longer be at the start of the buffer, we
need to keep track of where it really starts (data_offset) and use that
in our calculations for the real size of the data we received from the
network.
This fixes #2518.
|
|
fa44a169
|
2014-08-15T23:10:45
|
|
Merge pull request #2521 from jacquesg/remote-ls-not-connected
git_remote_ls() crashes before connect is called
|
|
dc8adda4
|
2014-08-15T22:51:19
|
|
git_remote_ls() should return an error if the transport is not available
|
|
e1c44290
|
2014-08-15T20:33:38
|
|
Merge pull request #2497 from ethomson/kerberos3
SPNEGO authentication via GSSAPI
|
|
23135afa
|
2014-08-14T11:52:20
|
|
Introduce proper http authentication API
|
|
40867266
|
2014-07-31T18:39:58
|
|
Perform HTTP keep-alive
|
|
adcdeb36
|
2014-08-01T13:06:37
|
|
online::clone::credentials support default credentials
|
|
f96e7e6c
|
2014-08-15T11:10:27
|
|
Free references during push validation
|
|
315cb38e
|
2014-07-31T18:43:20
|
|
Add GSSAPI support for SPNEGO/Kerberos auth over HTTP
|
|
e003f83a
|
2014-07-31T15:14:56
|
|
Introduce git_buf_decode_base64
Decode base64-encoded text into a git_buf
|
|
0f29e967
|
2014-08-01T13:43:46
|
|
Remove the refs/notes/commits that we push in test
The online::push::notes test pushes a note but leaves it hanging
around for other tests to stumble across when they're validating
that they're seeing the refs they expect to see. Clean it up on
exit.
|
|
aea67633
|
2014-07-31T17:59:03
|
|
Don't run the ssh clone tests against http remotes
|
|
fb48a51c
|
2014-08-14T17:01:02
|
|
Merge pull request #2469 from ethomson/transport2
Custom transport: minor cleanups
|
|
c180c065
|
2014-07-09T17:58:39
|
|
Custom transport: minor cleanups
* Move the transport registration mechanisms into a new header under
'sys/' because this is advanced stuff.
* Remove the 'priority' argument from the registration as it adds
unnecessary complexity. (Since transports cannot decline to operate,
only the highest priority transport is ever executed.) Users who
require per-priority transports can implement that in their custom
transport themselves.
* Simplify registration further by taking a scheme (eg "http") instead
of a prefix (eg "http://").
|
|
49d5ec71
|
2014-08-13T23:38:53
|
|
Merge pull request #2517 from ethomson/no_win_unreadable
Don't include the unreadable tests on win32
|
|
c8402334
|
2014-08-13T17:23:07
|
|
Don't include the unreadable tests on win32
|
|
0707feee
|
2014-08-13T21:23:23
|
|
Merge pull request #2513 from ethomson/giterr_null_msg
Allow NULL error message prefix when class=GITERR_OS
|
|
e62f96de
|
2014-08-13T14:55:24
|
|
Allow NULL error message prefix when class=GITERR_OS
|
|
59403f1f
|
2014-08-09T12:24:02
|
|
Merge pull request #2509 from libgit2/cmn/immediate-multiline
config: a multiline var can start immediately
|
|
9dac1f95
|
2014-08-09T10:56:50
|
|
config: a multiline var can start immediately
In the check for multiline, we traverse the backslashes from the end
backwards and int the end assert that we haven't gone past the beginning
of the line. We make sure of this in the loop condition, but we also
check in the return value.
However, for certain configurations, a line in a multiline variable
might be empty to aid formatting. In that case, 'end' == 'start', since
we ended up looking at the first char which made it a multiline.
There is no need for the (end > start) check in the return, since the
loop guarantees we won't go further back than the first char in the
line, and we do accept the first char to be the final backslash.
This fixes #2483.
|
|
bb9e6028
|
2014-08-09T00:35:08
|
|
Merge pull request #2507 from libgit2/rb/timer-typo
Typo in timer constants
|
|
35f186b6
|
2014-08-08T22:28:27
|
|
Merge pull request #2506 from libgit2/rb/ignore-pipes-etc
Don't report status on named pipes
|
|
f18234fa
|
2014-08-08T13:17:50
|
|
Don't report status on named pipes
Git skips entries in directories that are not S_ISDIR, S_ISREG, or
S_ISLNK, so let's make libgit2 do the same thing.
|
|
8f759ac0
|
2014-08-07T18:00:57
|
|
Merge pull request #2471 from jacquesg/compatibility-cleanup
Compatibility/Portability cleanup
|
|
3822d2cc
|
2014-08-05T15:06:45
|
|
Fix typo in timer normalization constants
The effect of this would be that various update callbacks would
not be made at the correct interval.
|
|
07d03d31
|
2014-07-13T16:40:51
|
|
Introduce some consistency in definition/declaration ordering
|
|
662f90e6
|
2014-07-13T16:08:46
|
|
Move p_realpath logic to realpath.c
|
|
959a93e7
|
2014-07-13T11:50:49
|
|
Silence unused variables warnings
|
|
c7dd0a56
|
2014-07-12T14:44:58
|
|
Use p_snprintf also in tests
|
|
c983604e
|
2014-07-12T14:44:21
|
|
Consistently use p_snprintf
|
|
2f795d8f
|
2014-07-12T14:45:56
|
|
Cleanup portability/compatibility layer
* Removes mingw-compat.h
* Cleans up separation of compiler/platform idiosyncrasies
* Unifies mingw/msvc stat structures and functions
* (Tries to) hide more compiler specific implementation details (even in our internal API)
|
|
d07fd442
|
2014-07-12T14:37:39
|
|
Define WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH if not defined
|
|
e0af2517
|
2014-08-05T20:28:22
|
|
Merge pull request #2503 from jacquesg/solaris-http-parser
Solaris doesn't necessarily have stdint.h, use inttypes.h
|
|
66d15954
|
2014-08-05T19:51:29
|
|
Solaris doesn't necessarily have stdint.h, use inttypes.h
|
|
59e3f45b
|
2014-07-25T11:27:51
|
|
Merge pull request #2487 from libgit2/cmn/revwalk-no-prealloc
Work around strict aliasing in array growth
|
|
b62a6a13
|
2014-07-25T08:25:41
|
|
array: mark the array to grow as volatile
This works around strict aliasing rules letting some versions of
GCC (particularly on RHEL 6) thinking that they can skip updating the
size of the array when calculating the next element's offset.
|
|
9746b36c
|
2014-07-24T16:46:59
|
|
revwalk: remove preallocation of the uninteresting commits
Preallocating two commits doesn't make much sense as leaving allocation
to the first array usage will allocate a sensible size with room for
growth.
This preallocation has also been hiding issues with strict aliasing in
the tests, as we have fairly simple histories and never trigger the
growth.
|
|
9de6ec52
|
2014-07-23T09:41:52
|
|
Merge pull request #2477 from ethomson/merge
Don't allow conflicts by default
|
|
243db06c
|
2014-07-23T07:57:20
|
|
Merge pull request #2484 from libgit2/fix-git-status-list-new-unreadable-folder
Fix git status list new unreadable folder
|
|
85b7268e
|
2014-07-23T12:17:02
|
|
undo indentation change in diff_print.c
|
|
bf9a7e06
|
2014-07-22T20:30:26
|
|
Merge pull request #2485 from ethomson/cherrypick
Rename git_cherry_pick to git_cherrypick
|
|
0ba4dca5
|
2014-07-22T10:40:23
|
|
git_cherry_pick -> git_cherrypick
|
|
7d0ab0fa
|
2014-07-22T15:08:24
|
|
Merge remote-tracking branch 'origin/master' into fix-git-status-list-new-unreadable-folder
|
|
e824e63d
|
2014-07-22T11:25:56
|
|
Remove debug printfs.
|
|
35b1471f
|
2014-07-22T11:15:33
|
|
Move the UNREADABLE enums to the correct group.
|
|
994404b5
|
2014-07-17T01:25:31
|
|
Don't allow conflicts by default
|
|
091165c5
|
2014-07-16T14:21:53
|
|
Merge pull request #2475 from libgit2/expose-buffer-binary-detection
Export git_buf_text_is_binary and git_buf_text_contains_nul.
|
|
b3af2d80
|
2014-07-16T13:34:25
|
|
Just put it all in buffer.
|
|
ec813d83
|
2014-07-16T13:07:17
|
|
Merge pull request #2476 from linquize/config-lf-eof
When adding new config section, handle config file not ending with LF
|
|
8baeb8a4
|
2014-07-16T13:03:34
|
|
ssh: Fix unused warning
|
|
84a85d1b
|
2014-07-16T13:03:07
|
|
clone: should_clone? Of course we should clone. That's not the question
|
|
ed99e0b5
|
2014-07-16T13:00:15
|
|
Merge pull request #2467 from ethomson/win_local_clone
Handle local file:/// paths on Windows
|
|
69374869
|
2014-07-16T21:54:53
|
|
Add unit test to test add section without lf at EOF
|
|
991dab2d
|
2014-07-16T21:09:53
|
|
Make sure \n is at the end of config file before a new section is written
|
|
df4cba0f
|
2014-07-15T17:27:58
|
|
Export git_buf_text_is_binary and git_buf_text_contains_nul.
So that users don’t need to implement binary detection themselves.
|
|
ad082501
|
2014-07-15T11:00:27
|
|
Merge pull request #2472 from jacquesg/perl-link
Update perl bindings link
|
|
851ae37e
|
2014-07-15T10:58:02
|
|
Merge pull request #2474 from ethomson/clar_file_report
Switch description and message reporting in `clar__assert_equal_file`
|
|
3d997dc2
|
2014-07-15T10:00:46
|
|
Switch description and path reporting
|
|
2ef20da0
|
2014-07-13T17:52:33
|
|
Updated perl bindings link
|
|
f59a34d2
|
2014-07-12T14:45:34
|
|
Only create openssl_locks if thread support is enabled
|
|
529c3715
|
2014-07-13T16:12:33
|
|
Fix unix/posix.h include guard
|
|
529fd30d
|
2014-07-08T15:45:50
|
|
Handle local file:/// paths on Windows
Windows can't handle a path like `/c:/foo`; when turning file:///
URIs into local paths, we must strip the leading slash.
|
|
a6d7e166
|
2014-07-11T16:51:43
|
|
Merge pull request #2466 from jacquesg/win2003-platform-sdk
Windows compatibility fixes
|
|
44cfb6f3
|
2014-07-11T16:49:23
|
|
Merge pull request #2463 from libgit2/cmn/ssh-factory-for-paths
ssh: provide a factory function for setting ssh paths
|
|
863dabda
|
2014-07-11T16:47:41
|
|
Merge pull request #2465 from libgit2/cmn/refspec-start-middle
Support refspecs with the asterisk in the middle
|
|
356b891e
|
2014-07-11T14:19:35
|
|
Merge pull request #2468 from Airbitz/pack-error-reporting
Properly report failure when expanding a packfile
|
|
0dbbfbb6
|
2014-07-11T14:18:49
|
|
Merge pull request #2457 from ethomson/merge_fix
merge: don't open COMMIT_MSG unless we need to append conflicts
|
|
eb5f0346
|
2014-07-11T12:22:48
|
|
checkout: fix docs formatting for the options
|
|
4edd1a03
|
2014-07-10T19:17:34
|
|
Merge remote-tracking branch 'origin/development' into fix-git-status-list-new-unreadable-folder
|
|
01b432cf
|
2014-07-09T14:12:30
|
|
Properly report failure when expanding a packfile
|
|
02bf955f
|
2014-07-02T15:42:15
|
|
merge: don't open COMMIT_MSG unless we need to append conflicts
|
|
18eb6ec8
|
2014-07-08T09:56:16
|
|
Documentation fixes
Fixup git_attr_value's comment to be recognised as documentation, and
include the definitions needed for clang to parse reset.h such that
it shows up in the documentation.
This fixes #2430.
|
|
d4256ed5
|
2014-07-04T10:00:39
|
|
ssh: provide a factory function for setting ssh paths
git allows you to set which paths to use for the git server programs
when connecting over ssh; and we want to provide something similar.
We do this by providing a factory function which can be set as the
remote's transport callback which will set the given paths upon
creation.
|
|
59ceb432
|
2014-07-05T21:27:47
|
|
Define IO_REPARSE_TAG_SYMLINK if its not defined by WinNT.h
|
|
72090514
|
2014-07-05T21:27:21
|
|
Secure CRT is only available from Visual Studio 2005+
|
|
491ad0de
|
2014-07-05T21:26:35
|
|
qsort_r is only available from Visual Studio 2005+
|
|
cde32d4d
|
2014-07-05T21:25:55
|
|
Variadic macros is only available from Visual Studio 2005+
|
|
ab864e9c
|
2014-07-05T21:25:20
|
|
_stat64 is a function, __stat64 is the structure
|
|
b8365f21
|
2014-07-05T21:24:26
|
|
strnlen() is only available from Visual Studio 2005+
|
|
90c2b37f
|
2014-07-05T21:22:56
|
|
in_addr is defined in <Winsock2.h>, include before <ws2tcpip.h>
|
|
9b87998c
|
2014-07-04T18:49:24
|
|
Merge remote-tracking branch 'origin/cmn/update-zlib'
|
|
9fef46de
|
2014-07-04T17:33:35
|
|
Add a CHANGELOG entry for refspecs with asterisk in the middle
|
|
f5287fa6
|
2014-07-04T17:17:23
|
|
refspec: support asterisks in the middle of a pattern
We used to assume a refspec would only have an asterisk in the middle of
their respective pattern. This has not been a valid assumption for some
time now with git.
Instead of assuming where the asterisk is going to be, change the logic
to treat each pattern as having two halves with a replacement bit in the
middle, where the asterisk is.
|
|
9ed104a8
|
2014-07-04T17:16:17
|
|
refspec: short-circuit non-pattern refspecs on transform
When transforming a non-pattern refspec, we simply need to copy over the
opposite string. Move that logic up to the wrapper so we can assume a
pattern refspec in the transformation function.
|
|
98ce2318
|
2014-07-04T09:18:01
|
|
Merge pull request #2461 from jacquesg/ssh2-warnings
Fix SSH2 warnings
|
|
ae241ae1
|
2014-07-03T20:20:00
|
|
Include libssh2.h before git2.h (transport.h)
|
|
268dafa2
|
2014-07-03T20:19:16
|
|
Fix git_cred_ssh_interactive_callback signature
|
|
b0ed61f8
|
2014-07-03T15:30:38
|
|
Merge pull request #2460 from libgit2/cmn/sched-yield
Move yield to the tests and enable for FreeBSD
|
|
905fb592
|
2014-07-03T05:47:34
|
|
Move yield to the tests and enable for FreeBSD
Move the definition of git_thread_yield() to the test which needs it and
add the correct definition for it for FreeBSD and derivatives.
Original patch adding FreeBSD and derivatives by @jacquesg.
|
|
193fe9cb
|
2014-07-03T02:41:10
|
|
Merge pull request #2459 from libgit2/cmn/http-url-path
netops: error out on url without a path
|
|
1380e7c6
|
2014-07-03T02:34:32
|
|
netops: error out on url without a path
In order to connect to a remote server, we need to provide a path to the
repository we're interested in. Consider the lack of path in the url an
error.
|
|
cb6e68c7
|
2014-07-02T16:45:02
|
|
Merge pull request #2449 from libgit2/cmn/maint-21
Maint fixes for ssl initing and ssh exposure
|
|
c1bf2942
|
2014-07-02T15:29:25
|
|
Merge pull request #2455 from ethomson/equal_oid
Introduce `cl_assert_equal_oid`
|
|
4df4ebd7
|
2014-07-02T15:29:14
|
|
Merge pull request #2453 from ethomson/checkout_index
git_checkout_index: checkout other indexes
|
|
b0ca1b18
|
2014-07-02T15:29:05
|
|
Merge pull request #2452 from libgit2/cmn/clone-custom-repo
Provide a callback to customize the repository on clone
|
|
de3cf801
|
2014-07-02T15:28:24
|
|
Merge pull request #2456 from libgit2/cmn/ssh-send-everything
ssh: libssh2_channel_write() behaves like send()
|
|
0963716b
|
2014-07-02T12:49:51
|
|
ssh: libssh2_channel_write() behaves like send()
When the stream writing function was written, it assume that
libssh2_channel_write() would always write all of the data to the
wire. This is only true for the first 32k of data, which it tries to
fit into one ssh packet.
Since it can perform short writes, call it in a loop like we do for
send(), advancing the buffer offset.
|
|
6812afaf
|
2014-06-30T21:36:38
|
|
clone: remote git_clone_into{,_local} from the public API
As git_clone now has callbacks to configure the details of the
repository and remote, remove the lower-level functions from the public
API, as they lack some of the logic from git_clone proper.
|
|
d58a64e9
|
2014-06-30T20:55:32
|
|
clone: add a callback for repository creation
Analogously to the remote creation callback, provide a way for the user
of git_clone() to create the repository with whichever options they
desire via callback.
|
|
967f5a76
|
2014-05-23T14:50:51
|
|
git_checkout_index: checkout other indexes
git_checkout_index can now check out other git_index's (that are not
necessarily the repository index). This allows checkout_index to use
the repository's index for stat cache information instead of the index
data being checked out. git_merge and friends now check out their
indexes directly instead of trying to blend it into the running index.
|