<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/daemon.c, branch v1.8.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.8.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.8.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2013-03-25T20:45:42Z</updated>
<entry>
<title>Merge branch 'dm/ni-maxhost-may-be-missing' into maint-1.8.1</title>
<updated>2013-03-25T20:45:42Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-03-25T20:45:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2b0dda53189d3829e58187ee91143b35036573fb'/>
<id>urn:sha1:2b0dda53189d3829e58187ee91143b35036573fb</id>
<content type='text'>
Some sources failed to compile on systems that lack NI_MAXHOST in
their system header.

* dm/ni-maxhost-may-be-missing:
  git-compat-util.h: Provide missing netdb.h definitions
</content>
</entry>
<entry>
<title>git-compat-util.h: Provide missing netdb.h definitions</title>
<updated>2013-02-25T20:16:08Z</updated>
<author>
<name>David Michael</name>
<email>fedora.dm0@gmail.com</email>
</author>
<published>2013-02-25T19:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3b130ade45c70af63c7692387b65f161770a8ccc'/>
<id>urn:sha1:3b130ade45c70af63c7692387b65f161770a8ccc</id>
<content type='text'>
Some platforms may lack the NI_MAXHOST and NI_MAXSERV values in their
system headers, so ensure they are available.

Signed-off-by: David Michael &lt;fedora.dm0@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>daemon: --access-hook option</title>
<updated>2012-08-15T18:01:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-08-14T18:37:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=93741e4a915fc33a00e6facff88cd27565d10f82'/>
<id>urn:sha1:93741e4a915fc33a00e6facff88cd27565d10f82</id>
<content type='text'>
The --access-hook option to "git daemon" specifies an external
command to be run every time a client connects, with

 - service name (e.g. "upload-pack", etc.),
 - path to the repository,
 - hostname (%H),
 - canonical hostname (%CH),
 - ip address (%IP),
 - tcp port (%P)

as its command line arguments.  The external command can decide to
decline the service by exiting with a non-zero status (or to allow it
by exiting with a zero status).  It can also look at the $REMOTE_ADDR
and $REMOTE_PORT environment variables to learn about the requestor
when making this decision.

The external command can optionally write a single line to its
standard output to be sent to the requestor as an error message when
it declines the service.

Acked-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-daemon: produce output when ready</title>
<updated>2012-01-08T23:08:03Z</updated>
<author>
<name>Clemens Buchacher</name>
<email>drizzd@aon.at</email>
</author>
<published>2012-01-07T11:42:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f6a34cfbb4314105c4dadd88eb42da26aef44dfd'/>
<id>urn:sha1:f6a34cfbb4314105c4dadd88eb42da26aef44dfd</id>
<content type='text'>
If a client tries to connect after git-daemon starts, but before it
opens a listening socket, the connection will fail. Output "[PID]
Ready to rumble]" after opening the socket successfully in order to
inform the user that the daemon is now ready to receive
connections.

Signed-off-by: Clemens Buchacher &lt;drizzd@aon.at&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>i18n: add infrastructure for translating Git with gettext</title>
<updated>2011-12-06T04:46:55Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2011-11-17T23:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5e9637c629702e3d41ad01d95956d1835d7338e0'/>
<id>urn:sha1:5e9637c629702e3d41ad01d95956d1835d7338e0</id>
<content type='text'>
Change the skeleton implementation of i18n in Git to one that can show
localized strings to users for our C, Shell and Perl programs using
either GNU libintl or the Solaris gettext implementation.

This new internationalization support is enabled by default. If
gettext isn't available, or if Git is compiled with
NO_GETTEXT=YesPlease, Git falls back on its current behavior of
showing interface messages in English. When using the autoconf script
we'll auto-detect if the gettext libraries are installed and act
appropriately.

This change is somewhat large because as well as adding a C, Shell and
Perl i18n interface we're adding a lot of tests for them, and for
those tests to work we need a skeleton PO file to actually test
translations. A minimal Icelandic translation is included for this
purpose. Icelandic includes multi-byte characters which makes it easy
to test various edge cases, and it's a language I happen to
understand.

The rest of the commit message goes into detail about various
sub-parts of this commit.

= Installation

Gettext .mo files will be installed and looked for in the standard
$(prefix)/share/locale path. GIT_TEXTDOMAINDIR can also be set to
override that, but that's only intended to be used to test Git itself.

= Perl

Perl code that's to be localized should use the new Git::I18n
module. It imports a __ function into the caller's package by default.

Instead of using the high level Locale::TextDomain interface I've
opted to use the low-level (equivalent to the C interface)
Locale::Messages module, which Locale::TextDomain itself uses.

Locale::TextDomain does a lot of redundant work we don't need, and
some of it would potentially introduce bugs. It tries to set the
$TEXTDOMAIN based on package of the caller, and has its own
hardcoded paths where it'll search for messages.

I found it easier just to completely avoid it rather than try to
circumvent its behavior. In any case, this is an issue wholly
internal Git::I18N. Its guts can be changed later if that's deemed
necessary.

See &lt;AANLkTilYD_NyIZMyj9dHtVk-ylVBfvyxpCC7982LWnVd@mail.gmail.com&gt; for
a further elaboration on this topic.

= Shell

Shell code that's to be localized should use the git-sh-i18n
library. It's basically just a wrapper for the system's gettext.sh.

If gettext.sh isn't available we'll fall back on gettext(1) if it's
available. The latter is available without the former on Solaris,
which has its own non-GNU gettext implementation. We also need to
emulate eval_gettext() there.

If neither are present we'll use a dumb printf(1) fall-through
wrapper.

= About libcharset.h and langinfo.h

We use libcharset to query the character set of the current locale if
it's available. I.e. we'll use it instead of nl_langinfo if
HAVE_LIBCHARSET_H is set.

The GNU gettext manual recommends using langinfo.h's
nl_langinfo(CODESET) to acquire the current character set, but on
systems that have libcharset.h's locale_charset() using the latter is
either saner, or the only option on those systems.

GNU and Solaris have a nl_langinfo(CODESET), FreeBSD can use either,
but MinGW and some others need to use libcharset.h's locale_charset()
instead.

=Credits

This patch is based on work by Jeff Epler &lt;jepler@unpythonic.net&gt; who
did the initial Makefile / C work, and a lot of comments from the Git
mailing list, including Jonathan Nieder, Jakub Narebski, Johannes
Sixt, Erik Faye-Lund, Peter Krefting, Junio C Hamano, Thomas Rast and
others.

[jc: squashed a small Makefile fix from Ramsay]

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Ramsay Jones &lt;ramsay@ramsay1.demon.co.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/daemon-msgs'</title>
<updated>2011-10-21T23:04:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-10-21T23:04:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e75a59adfcc4fd048690e5b25f9a8c31d8011d53'/>
<id>urn:sha1:e75a59adfcc4fd048690e5b25f9a8c31d8011d53</id>
<content type='text'>
* jk/daemon-msgs:
  daemon: give friendlier error messages to clients

Conflicts:
	daemon.c
</content>
</entry>
<entry>
<title>Merge branch 'ph/transport-with-gitfile'</title>
<updated>2011-10-21T23:04:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-10-21T23:04:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=afd6284a7fdbb479b5c99a87f64d7496f6fe8a27'/>
<id>urn:sha1:afd6284a7fdbb479b5c99a87f64d7496f6fe8a27</id>
<content type='text'>
* ph/transport-with-gitfile:
  Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile
  Add test showing git-fetch groks gitfiles
  Teach transport about the gitfile mechanism
  Learn to handle gitfiles in enter_repo
  enter_repo: do not modify input
</content>
</entry>
<entry>
<title>daemon: give friendlier error messages to clients</title>
<updated>2011-10-16T04:15:06Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-10-14T21:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d5570f4d2cb29f3db9f69ff5fcde0a7d54ad2696'/>
<id>urn:sha1:d5570f4d2cb29f3db9f69ff5fcde0a7d54ad2696</id>
<content type='text'>
When the git-daemon is asked about an inaccessible repository, it simply
hangs up the connection without saying anything further. This makes it
hard to distinguish between a repository we cannot access (e.g., due to
typo), and a service or network outage.

Instead, let's print an "ERR" line, which git clients understand since
v1.6.1 (2008-12-24).

Because there is a risk of leaking information about non-exported
repositories, by default all errors simply say "access denied or
repository not exported". Sites which don't have hidden repositories, or
don't care, can pass a flag to turn on more specific messages.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Helped-by: Sitaram Chamarty &lt;sitaramc@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/git-daemon-error-msgs'</title>
<updated>2011-10-14T02:03:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-10-14T02:03:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=522a54568e40f8b9110f9dde5664623bd5d039ce'/>
<id>urn:sha1:522a54568e40f8b9110f9dde5664623bd5d039ce</id>
<content type='text'>
* nd/git-daemon-error-msgs:
  daemon: return "access denied" if a service is not allowed
</content>
</entry>
<entry>
<title>enter_repo: do not modify input</title>
<updated>2011-10-04T20:30:38Z</updated>
<author>
<name>Erik Faye-Lund</name>
<email>kusmabite@gmail.com</email>
</author>
<published>2011-10-04T20:02:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1c64b48e67c2c83508c45817002468a9a633c991'/>
<id>urn:sha1:1c64b48e67c2c83508c45817002468a9a633c991</id>
<content type='text'>
entr_repo(..., 0) currently modifies the input to strip away
trailing slashes. This means that we some times need to copy the
input to keep the original.

Change it to unconditionally copy it into the used_path buffer so
we can safely use the input without having to copy it. Also store
a working copy in validated_path up-front before we start
resolving anything.

Signed-off-by: Erik Faye-Lund &lt;kusmabite@gmail.com&gt;
Signed-off-by: Phil Hord &lt;hordp@cisco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
