SSH push error on relative unix socket address #8180

Closed
opened 2025-11-02 07:56:11 -06:00 by GiteaMirror · 2 comments
Owner

Originally created by @mamins1376 on GitHub (Nov 27, 2021).

Gitea Version

Gitea version 1.15.6 built with GNU Make 4.1, go1.16.9 : bindata, sqlite, sqlite_unlock_notify

Git Version

git version 2.20.1

Operating System

Debian Buster

How are you running Gitea?

I downloaded the binray from releases page and activated the systemd service.

Database

SQLite

Can you reproduce the bug on the Gitea demo site?

No

Log Gist

No response

Description

Using a relative address for HTTP_ADDR when PROTOCOL is unix would result in push failure:

remote: Resolving deltas: 100% (100/100), done.
remote:
remote: Gitea: Internal Server Error
remote: Unable to contact gitea: Post "http://unix/api/internal/hook/pre-receive/user/repo": dial unix socket: connect: no such file or directory
remote: Gitea: Internal Server Error

Screenshots

No response

Originally created by @mamins1376 on GitHub (Nov 27, 2021). ### Gitea Version Gitea version 1.15.6 built with GNU Make 4.1, go1.16.9 : bindata, sqlite, sqlite_unlock_notify ### Git Version git version 2.20.1 ### Operating System Debian Buster ### How are you running Gitea? I downloaded the binray from releases page and activated the systemd service. ### Database SQLite ### Can you reproduce the bug on the Gitea demo site? No ### Log Gist _No response_ ### Description Using a relative address for `HTTP_ADDR` when `PROTOCOL` is `unix` would result in push failure: ``` remote: Resolving deltas: 100% (100/100), done. remote: remote: Gitea: Internal Server Error remote: Unable to contact gitea: Post "http://unix/api/internal/hook/pre-receive/user/repo": dial unix socket: connect: no such file or directory remote: Gitea: Internal Server Error ``` ### Screenshots _No response_
Author
Owner

@zeripath commented on GitHub (Nov 27, 2021):

What is your LOCAL_ROOT_URL and PROTOCOL.


Now I understand what you're saying.

We never intended to support relative addresses for unix sockets, so there's no normalisation of the "address" and I expect that the socket that is being looked for is relative to where your running Gitea from.

This location will be different when running Gitea serv from when running Gitea web.

If you are keen for relative paths to be supported please define where you think they should be relative from and why.

In the meantime use absolute paths.

@zeripath commented on GitHub (Nov 27, 2021): What is your LOCAL_ROOT_URL and PROTOCOL. --- Now I understand what you're saying. We never intended to support relative addresses for unix sockets, so there's no normalisation of the "address" and I expect that the socket that is being looked for is relative to where your running Gitea from. This location will be different when running Gitea serv from when running Gitea web. If you are keen for relative paths to be supported please define where you think they should be relative from and why. In the meantime use absolute paths.
Author
Owner

@mamins1376 commented on GitHub (Nov 27, 2021):

The point is they should be resolved the same way in any context, web or hooks.

It looks like currently they are resolved relative to current working directory which is different than server worker when gitea is invoked to receive a push.

Personally I'd prefer resolution to be relative to executable binary, but the alternatives are config file and server working directory.

@mamins1376 commented on GitHub (Nov 27, 2021): The point is they should be resolved the same way in any context, web or hooks. It looks like currently they are resolved relative to current working directory which is different than server worker when `gitea` is invoked to receive a push. Personally I'd prefer resolution to be relative to executable binary, but the alternatives are config file and server working directory.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#8180