Я могу выполнить защищенный паролем, сервер мерзавца только для чтения?

Первый insert(2,1) работает нормально. Итак, у вас есть связанный список, подобный этому

(2)->NULL
 |
head

Во второй вставке, давайте следовать за кодом,

1. else 
2. {
3.    node* ptr = head;
4.    for (int i = 1; i <= n - 1; i++)
5.        ptr = ptr->link;
6.    temp->link = ptr->link;
7.    ptr->link = temp;
8. }

Строка 3, ptr указывает на head. n равно 2

(2)->NULL
 |
head
 |
ptr

Строка 4, 1 <= (2-1) - true, потому что 1 == 1, поэтому для цикла выполняется один раз

Строка 5, ptr перемещается на один шаг, поэтому он указывает на NULL

(2)->NULL
 |    |
head  |
      |
     ptr

Строка 6, называется ptr->link, то есть NULL->link. Так что он падает здесь.


Когда вы делаете for(int i=0;i<n-2;i++), n равно 2, поэтому 0 < (2-2) равно false, поэтому работает нормально. Примечание. Работает только в том случае, если вызовы вставок выполняются в порядке, подобном вашему примеру. Если они вызваны в неправильном порядке, это не сработает.

Изменение строки 6 на temp->link = ptr; также должно работать без изменения цикла.

9
задан kch 10 February 2009 в 22:25
поделиться

4 ответа

Самый легкий путь состоит в том, чтобы установить Аутентификацию HTTP сверху gitweb. Посмотрите там.

2
ответ дан 4 December 2019 в 22:30
поделиться

Аутентификация HTTP не защитит пакет, передаваемый по проводу, поэтому если Вы будете волноваться по поводу Аутентификации HTTP соглядатаев, то не будет достаточен. Кроме того, мерзавец является намного более эффективным использованием протокола мерзавца, чем протокол HTTP. мерзавец-демон, однако, не делает аутентификации для Вас.

Вероятно, лучшее решение состоит в том, чтобы использовать gitosis, который позволит Вам защищать репозиторий с помощью ssh - криптографически устойчивую аутентификацию, и конфиденциальность по проводу - и доступ управления к репозиторию также (например, иметь некоторое пользовательское чтение-запись и некоторых пользователей, только для чтения). Это будет использовать эффективный протокол мерзавца по Вашему соединению SSH.

Если Вы готовы произвести это на стороне, GitHub является, возможно, лучшим подходом. У них есть планы по различным стандартным ценам для удовлетворения многих потребностей.

6
ответ дан 4 December 2019 в 22:30
поделиться

Можно выбрать через SSH, который и аутентифицируется и зашифрованный канал. Я не знаю, помог ли gitosis Вам управлять доступом SSH вместо установки учетных записей с доступом через оболочку с оболочкой мерзавца как оболочка.

0
ответ дан 4 December 2019 в 22:30
поделиться

Чтобы создать аутентифицированный репозиторий «только для чтения», предоставьте SSH-доступ к репозитории для всех применимых сторон, но разрешены только push-запросы (доступ для записи) в подборку сторон, используя кнопку UPDATE AS вышел здесь .

0
ответ дан 4 December 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: