Hi Mads,

Le 23/03/2018 à 00:55, Mads Kiilerich a écrit :
On 03/22/2018 02:58 PM, Nicolas Pinault wrote:
Hi,

Is there a way to make kallithea serve on IPV6 only or, IPV4 and IPV6?

I am not aware of anything that should be IPv4 specific. But I also haven't tried IPv6.

I guess it just works if using Apache and mod_wsgi.

The waitress version we default to use for `gearbox serve` doesn't support IPv6.

A quick test on our default branch shows that it seems to work on IPv6 if you edit setup.py to "waitress>=0.8.8,<2.0" to get something like waitress 1.1 and edit your .ini to host = * .

With reports of Waitress 1.1 (and review of their release note) we can make that version the default.
I finally had some time to try your solution.
I didn't reinstalled all after modifying setup.py.

I upgraded waitress directly with :
pip install --upgrade "waitress>=0.8.8,<2.0"

I then modified METADATA and metadata.json files located in Kallithea-0.3.5.dist-info directory to set the ">=0.8.8,<2.0" pattern.

Kallithea launches and remote client accesses it.
However, Kallithea crashes on first access.
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\auth.py", line 1336, in
 check_ip_access
    if ipaddr.IPAddress(source_ip) in ipaddr.IPNetwork(ip):
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\ipaddr.py", line 76, in
 IPAddress
    address)
ValueError: 'fe80::acaf:647b:6b31:70b8%13' does not appear to be an IPv4 or IPv6
 address

I believe the scope at the end of the IP address is the culprit. But maybe I am wrong.
I have added the full trace back at the end of this message.

As IPV6 is not officially supported, I have not created a bug request.
Do you think there is an easy fix for this issue ?

Nicolas


/Mads



2018-07-06 15:58:29.361 INFO  [kallithea.model] initializing db for sqlite:///d:
\Kallithea\Bin/kallithea.db?timeout=60
2018-07-06 15:58:29.371 INFO  [kallithea.lib.auth] getting information about all
 available permissions
2018-07-06 15:58:29.579 ERROR [kallithea.lib.vcs.backends.git.repository] Couldn
't run git command (['git', '--version']).
Original error was:[Error 2] Le fichier spécifié est introuvable

2018-07-06 15:58:29.599 WARNI [kallithea.lib.utils] Error detecting git version:
 WindowsError(2, 'Le fichier sp\xe9cifi\xe9 est introuvable')
Starting server in PID 3820.
Serving on http://serveur.aatond.local:5000
Serving on http://serveur.aatond.local:5000
2018-07-06 15:58:34.111 INFO  [kallithea.RequestWrapper] IP: fe80::acaf:647b:6b3
1:70b8%13 Request to /CantarX3/software/Cantar3-Apps time: 0.032s
2018-07-06 15:58:34.125 ERROR [waitress] Exception when serving /CantarX3/softwa
re/Cantar3-Apps
Traceback (most recent call last):
  File "d:\kallithea\env\lib\site-packages\waitress\channel.py", line 338, in se
rvice
    task.service()
  File "d:\kallithea\env\lib\site-packages\waitress\task.py", line 169, in servi
ce
    self.execute()
  File "d:\kallithea\env\lib\site-packages\waitress\task.py", line 399, in execu
te
    app_iter = self.channel.server.application(env, start_response)
  File "d:\kallithea\env\lib\site-packages\paste\gzipper.py", line 31, in __call
__
    return self.application(environ, start_response)
  File "d:\kallithea\env\lib\site-packages\paste\cascade.py", line 130, in __cal
l__
    return self.apps[-1](environ, start_response)
  File "d:\kallithea\env\lib\site-packages\paste\registry.py", line 379, in __ca
ll__
    app_iter = self.application(environ, start_response)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\middleware\wrapper.py",
 line 43, in __call__
    return self.application(environ, start_response)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\base.py", line 312, in
__call__
    return self._handle_request(environ, start_response)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\middleware\simplegit.py
", line 68, in _handle_request
    return self.application(environ, start_response)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\base.py", line 312, in
__call__
    return self._handle_request(environ, start_response)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\middleware\simplehg.py"
, line 113, in _handle_request
    repo_name, ip_addr)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\base.py", line 226, in
_check_permission
    ip_allowed = AuthUser.check_ip_allowed(user, ip_addr)
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\auth.py", line 621, in
check_ip_allowed
    if check_ip_access(source_ip=ip_addr, allowed_ips=allowed_ips):
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\auth.py", line 1336, in
 check_ip_access
    if ipaddr.IPAddress(source_ip) in ipaddr.IPNetwork(ip):
  File "d:\kallithea\env\lib\site-packages\kallithea\lib\ipaddr.py", line 76, in
 IPAddress
    address)
ValueError: 'fe80::acaf:647b:6b31:70b8%13' does not appear to be an IPv4 or IPv6
 address
_______________________________________________
kallithea-general mailing list
kallithea-general@sfconservancy.org
https://lists.sfconservancy.org/mailman/listinfo/kallithea-general

Reply via email to