LINUX.ORG.RU

Сообщения jumminy1968

 

git + http base authentication

Форум — Admin

На работе собственный git сервер. Работает только по https, ssh выключен. Коммиты делал через консольный git тоже через https. Все было хорошо, пока на уровне нашей сети не добавили авторизацию.

Теперь, чтобы в браузере открыть git нужно ввести пароль, чтобы страничка вообще показалось, потом данные своего аккаунта на gitea. Настроили это через keenetic, роутер. Из-за этого сейчас не работает консольный git.

Что работает?

wget --user=user --password=password url

Позволяет войти в сеть и скачать указанный url, где user и password - данные для входа в сеть. Нейросеть сказала мне, что раз этот wget работает, то это вход на уровне HTTP Base Authentication.

git clone url

Если ввести данные от сети, то можно склонировать репозиторий. (То есть git все-таки может авторизоваться)

Что не работает

git push url

Не работает вообще никак. И при ввода данных от сети, и при вводе данных от аккаунта gitea. Консольный git не проводит диалог, где спросил данные для входа в сеть и на git сервер. Он спрашивает данные только один раз, а нужно два.

Что пробовал?

git config --global credential.helper store

Сохранение данных для аутентификации - не помогло.

git push https://USERNAME:PASSWORD@git-url
git push https://USERNAME:TOKEN@git-url
git push https://TOKEN@git-url

Ничего не помогло. Какая есть опция, чтобы git одновременно авторизовался и на протоколе https и на самом сервере?

Пожалуйста, помогите, если не отправлю коммит в ближайшее время, то меня УВОЛЯТ!!!

 , , ,

jumminy1968
()

Как в Gnome изменить размер иконок при обзоре всех приложений?

Форум — Desktop

Пожалуйста, помогите. Впадаю в депрессию

 ,

jumminy1968
()

Haskell медленно обрабатывает файлы

Форум — Development

Прочитав книгу Курта, решил реализовать AES на Haskell в качестве первой практики. Сначала была эйфория от красоты конструкций и языка, потом агония, когда картинку несколько мегабайт программа шифровала целую минуту, хоть и сделала все правильно и хеши при расшифровке совпали. На больших файлах запускать страшно, боюсь не выдержит, хотя в конечном итоге хочу оптимизировать именно для них.


import Data.Binary
import Data.Bits(xor)
import qualified Data.ByteString.Lazy as BSL
import Data.Int(Int64)
import System.Environment


mask :: BSL.ByteString
mask = BSL.concat $ map encode numbers
  where numbers = [1..] :: [Int64]

ctrMode :: BSL.ByteString -> BSL.ByteString
ctrMode = BSL.packZipWith xor mask

main :: IO ()
main = do
  (inputFile:_) <- getArgs
  let outputFile = "ctr_" ++ inputFile 

  inputContent <- BSL.readFile inputFile
  let newContent = ctrMode inputContent

  BSL.writeFile outputFile newContent

Данный код реализует Counter Mode для обработки открытого текста перед шифрованием, чтобы на одинаковых блоках зашифрованный текст был разный.

$ ghc -O3 ctr.hs
$ dd if=/dev/zero of=./zeros bs=1M count=1536
$ time ./ctr zeros
./ctr zeros  86,75s user 7,54s system 100% cpu 1:34,14 total
$ time openssl enc -aes-128-cbc -in zeros -out enc_zeros
openssl enc -aes-128-cbc -in zeros -out enc_zeros  1,31s user 3,50s system 66% cpu 7,187 total

Файл 1.5 гигабайта обрабатывается за 90 секунд, и делает лишь xor, в то время как openssl тот же файл за пару секунд полностью шифрует. Программа собрана с -O3. Как можно оптимизировать?

Я уверен, что проблема в маленьких чанках при чтении файла. Как их можно увеличить? hGetContent работает с дефолтным чанком. hGetContentN, которая принимает размер чанка, не экспортируется (https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.Lazy.html#hGetContents). Вручную писать считывание с большими чанками? Как-то некрасиво, да и не знаю как, и это похоже на что-то базовое, что должно быть в стандартной библиотеке, но я не могу найти.

 , ,

jumminy1968
()

RSS подписка на новые темы