dnd forward slash что это

Dnd forward slash что это

Прошу подсказать, должен ли идти звонок на вн. номер в группе, если на данном номере включен «FWD ALL», или также необходимо включать DND?

«Forward all» и «DND» 5 года 6 мес. назад #51910

«Forward all» и «DND» 5 года 5 мес. назад #51950

«Forward all» и «DND» 5 года 5 мес. назад #51960

Новости

В продаже появилась новая гибридная мини-АТС фирмы Panasonic со встроенным Wi-Fi роутером.

Это модель KX-HTS824RU.

Системные телефоны для мини-АТС Samsung серии 7000

На форуме появился новый раздел. Посвящён он АТС под названием Asterisk. Подробнее.

В разделе Описания выложена новая прошивка v5.01 для АТС Samsung OfficeServ 7000 серии.
Что нового? Смотри Release Notes

В Скайпе у нас есть группа, где можно пообщаться о мини-АТС. Если Скайп у вас есть, кликайте сюда.

Обновился Online конфигуратор АТС Samsung Теперь помимо OfficeServ 7200 в нём представлены все модели 7000 серии (OfficeServ 7070, OfficeServ 7100 и OfficeServ 7400).

Телефонная конференция. Многие про неё слышали, но мало кто использует. Подробнее.

В связи с переходом на новое время в РФ, настоятельно рекомендуем проверить его на ваших мини-АТС.
Если время требуется поменять, смотрите подсказку здесь.

Санкт-Петербург, ул. Захарьеваская, дом 17 пом. 8Н

E-mail: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Источник

Slash и backslash: вехи на пути

Немного истории

Slash
Backslash

Боб Бемер ввел обратный слеш (\) в набор символов ASCII, 18 сентября 1961 года, как результат изучения частоты использования символов встречающихся в частности в программах на ALGOL’е. Тогда же вместе с обратным слешем в стандарт были включены и квадратные скобки.
В частности \ был введен, чтобы булевы операторы ALGOL’a AND и OR могли быть представлены с помощью ASCII символов как «/\» и «\/» соответственно [3,4].
Как же вышло, что исторически православный слеш заменился на свое зеркальное отображение, введенное как вспомогательный символ специально для уже мертвого языка?

Русскоязычная Википедия по этому говорит вот что:
В операционных системах DOS и Windows фирмы Microsoft и их аналогах других разработчиков, обратная косая используется для разделений имён директорий (каталогов) при указании пути к файлу. Прямая косая, применяемая для этого в Unix не могла быть использована в MS-DOS, потому что уже была задействована для указания ключей командной строки (оставшегося в наследство от СР/M, где MS-DOS команда «dir /w» писалась как «dir/w») [5].

Так как такое объяснение меня не слишком удовлетворило, пришлось найти статью «Why is the DOS path character «\»?» [6], которая вполне утолила моё любопытство. Вольный перевод избранных частей в моем исполнении:
То что символ «/» конфликтовал с разделителем пути другой относительно популярной ОС не был связан напрямую с разработчиками – в конце концов, DOS не поддерживал директорий, просто файлы в одном корневом каталоге.
Для MS-DOS 2.0 (в котором появился поддержка каталогов), дизайнеры DOSа выбрали гибридную версию – у них уже были имена дисков в наследство от DOS 1.0, поэтому разработчикам пришлось их использовать. И в дополнение к именам дисков они решили использовать *nix-style метод определения иерархии каталогов — вместо использования каталога в имени файла (как это было сделано в VMS и DEC-20), они просто сделали каталог и имя файла неотъемлемыми частями пути. Но с этим была проблема. Невозможно было использовать разделитель пути *nix (/), по той причине что слэш уже использовался как разделитель ключей.
Что им было делать? Они конечно могли использовать «.» как в DEC, но точка уже использовалась как разделитель между именем файла и расширением. Поэтому они выбрали наилучший вариант из оставшихся — символ «\», который был визуально похож на «/».Таким вот образом и был выбран символ «\» для разделения путей в DOS.
Кстати есть небольшой секрет про MS-DOS. Разработчики DOS не были довольны таким положением дел – они использовали Xenix [7] для почты и прочих вещей, поэтому они были знакомы со структурой *nix команд. Поэтому они добавили в ОС возможность принимать в качестве разделителя путей как «/» так и «\» (это работает и сегодня, кстати – попробуйте выполнить «notepad c:/boot.ini» под XP (если ваш пользователь имеет права админа)). Дальше — больше. Они добавили недокументированный системный вызов, чтобы изменить символ разделителя ключей. И обновили утилиты, чтобы те поддерживали этот флаг. Они даже добавили в config.sys параметр, SWITCHAR, который позволит пользователю установить разделитель ключей на «-«. Таким образом можно было превратить MS-DOS в *nix-style ОС, используя «-switch», и пути с разделителем «/».

Читайте также:  программа для почты на компьютер какая лучше

Собственно к чему это все?

Меня побудила разобраться в этой теме следующая ситуация.
Была поставлена задача — наладить систему отчетов для автоматизированных тестов. Тесты у нас используются двух видов – Selenium (функциональные) и Jmeter (нагрузочные). Собственно в этом не было ничего сложного — для этих целей существует вполне себе open-source проект под названием logging selenium [8] и plugin для maven — chronos [9]. Настроив всё и протестировав отчеты локально, принялся за интеграцию с нашей CI — TeamCity. Вот тут-то меня и ждала та самая неожиданность, которая стала поводом для написания этой статьи.
После выполнения всех тестов отчет о Selenium-тестах имел следующий вид:

Всё отлично отображалось, и никаких отличий от локальной версии не было.
Но вот отчет, который отобразился для Jmeter-тестов, воодушевления не вызывал:


Напрочь отсутствовали все изображения на странице.
После просмотра исходного кода страницы стало понятно, что во всем виноват backslash. Ссылки на изображения были указаны в таком формате:

Справедливости ради стоит заметить, что изображения отсутствовали в Firefox, но прекрасно отображались в IE. Хотя если бы IE не отображал ресурсы в URI которых встречается обратный слеш, как разделитель пути для Windows, то в, и не без того подпорченной, репутации индийских программистов образовалась бы еще одна брешь.

Источник

forward slash

1 forward slash

back slash — обратная косая черта; обратная косая

2 forward slash

back slash — обратная косая черта; обратная косая

3 forward slash

4 forward slash

back slash — обратная косая черта; обратная косая

5 forward slash

6 forward slash

7 forward slash

8 forward slash

9 forward slash

10 forward slash

11 forward slash

12 forward slash

13 forward slash

14 forward slash

15 forward-slash

См. также в других словарях:

forward slash — UK US noun [countable] [singular forward slash plural forward slashes] the symbol /, often used in internet addresses and computer instructions Thesaurus: symbols in computinghyponym … Useful english dictionary

forward slash — ˈforward ˌslash noun [countable] COMPUTING a line (/​) used in Internet addresses to separate the different parts * * * forward slash UK US noun [C] IT ► the symbol / that is used for separating words, letters, or numbers in internet addresses →… … Financial and business terms

forward slash — n BrE a line (/) used in writing, to separate words, numbers, or letters = ↑slash … Dictionary of contemporary English

forward slash — forward slashes N COUNT A forward slash is the sloping line / that separates letters, words, or numbers … English dictionary

forward slash — UK / US noun [countable] Word forms forward slash : singular forward slash plural forward slashes the symbol /, often used in internet addresses and computer instructions … English dictionary

forward slash — dešininis brūkšnys statusas T sritis informatika apibrėžtis Kompiuterio klaviatūroje esantis ženklas – į dešinę pasviręs brūkšnys (/). Kodai: 47 (ASCII dešimtainis), U+002F. Vartojamas ↑universaliuosiuose adresuose, taip pat ↑keliui nurodyti… … Enciklopedinis kompiuterijos žodynas

forward slash — noun A slash (the / symbol), in contradistinction to a backslash. Syn: oblique, shilling sign, slash, solidus, stroke … Wiktionary

forward slash — /fɔwəd ˈslæʃ/ (say forwuhd slash) noun → solidus (def. 3) … Australian-English dictionary

ˈforward ˌslash — noun [C] the symbol / used in Internet addresses and computer instructions … Dictionary for writing and speaking English

Slash (punctuation) — / Slash Punctuation apostrophe ( ’ … Wikipedia

Источник

Продолжаем разбираться с «историческими причинами» в cmd.exe

В предыдущей статье мы поговорили о возможном варианте решения ситуации с необходимостью указания ключа «/D» для команды CD, входящей в поставку стандартного для операционных систем семейства Windows интерпретатора командной строки cmd.exe. Пришла пора поговорить о ещё одном поведении, которое тянется с незапамятных времён без особой на то причины.

Читайте также:  какой кузов у митсубиси л200

На этот раз речь пойдёт об автодополнении путей, которое в большинстве сред и программных продуктов (и cmd.exe не является в данном случае исключением) осуществляется при помощи нажатия клавиш Tab / Shift-Tab. Думаю, никто не станет спорить с тем, что фича это довольно полезная и зачастую экономит до нескольких секунд времени, которое было бы потрачено на ручной ввод полного пути до интересущего пользователя файла или директории. Здорово, что она присутствует и в cmd.exe, однако…

Как протекал процесс, и что из этого вышло, читайте под катом (осторожно, много скриншотов).

Для начала нам надо посмотреть, с чего это вдруг cmd.exe решил искать объекты не в указанной пользователем директории, а в %HOMEPATH%.

Вводим исследуемую нами команду «CD C:/», нажимаем Tab и видим перед собой следующую картину:

Обратите внимание на первый из переданных функции FindFirstFileEx аргумент — именно он, согласно документации, задаёт критерий, по которому будет осуществляться поиск:

lpFileName [in]
The directory or path, and the file name, which can include wildcard characters, for example, an asterisk (*) or a question mark (?)

В моём случае он указывал на адрес 0x0030F660, где хранилась юникодовая строка «C:\Program Files\*». Почему именно она? Да потому что именно там я находился в момент ввода команды CD.

Давайте проделаем то же самое, используя backslash вместо forward slash’а. Нажимаем F9, вводим команду «CD C:\» с последующим нажатием Tab’а и видим:

Да, теперь этот аргумент указывает на строку «C:\*», как и предполагалось. Следовательно, в случае использования прямого слеша в качестве path separator’а cmd.exe пробегается по объектам, подходящим для автодополнения, в текущей директории.

Бегаем по вызовам всех процедур из call stack’а, открывающегося по нажатию клавиш Alt-K, и видим возле одного из них нечто похожее на парсинг пришедшей от пользователя команды:

Ставим бряк на начало данной процедуры (в моём случае это 0x4ACE1877), нажимаем F9, вводим нашу команду с обратным слешем и Tab’ом ещё раз и начинаем пошаговую отладку. Вскоре после усиленных нажатий клавиши F7 мы понимаем, что оказались в цикле, который пробегается по всем имеющимся во введённой пользователем команде символам:

EBP+8 указывает на юникодовую строку с командой, в EBP+10 содержится длина команды, а EDI является счётчиком цикла.

Практически сразу после этого цикла находится вызов функции std::memcpy, в результате которого в случае использования backslash’а в dest попадёт «C:\»

, а в случае forward slash’а — пустая строка:

Что ж, попробуем разобраться, что происходит в этом цикле, переведя алгоритм его работы на какой-нибудь высокоуровневый язык программирования. IDA Pro может декомпилировать код за вас, но, к сожалению, за это она просит довольно много денег, так что попробуем перевести его самостоятельно на C++:

Символы наподобие ‘*’ и ‘\’ были определены по таблице ASCII-кодов:

Поэкспериментировав со входными данными, можно увидеть следующее:

CD C:\Windows\
Result: C:\Windows\

Несложно заметить, что forward slash вызывает проблемы независимо от того, в каком именно месте введённого пользователем пути он стоит — хоть в конце, хоть в середине.

Решением может являться замена всех forward slash’ей на backslash’и сразу после того, как cmd.exe понял, что необходимо выполнять автодополнение. Для этого предлагаю подойти с другой стороны — провести пошаговую отладку сразу после ввода пользователем данных из стандартного потока ввода.

Однако считывание данных из stdin может осуществляться самыми разными способами. Как же понять, что именно используется в cmd.exe? Довольно просто — нажимаем F9, затем F12 (Pause), смотрим на call stack и видим среди вызовов WinAPI-функцию под названием ReadConsole:

По дефолту ReadConsole возвращает управление вызвавшему его коду после нажатия клавиши Enter, но, видимо, это не наш случай, т.к. завершать свою работу она должна, например, после нажатия Tab.

Ставим софтварный бряк на её вызов и добиваемся его срабатывания:

Читайте также:  какой инкубационный период у коронавируса с момента контакта с больным дельта штампом

Обратите внимание на последний параметр, который здесь именутся pReserved. На самом деле, он называется pInputControl и отвечает за следующее:

pInputControl [in, optional]
A pointer to a CONSOLE_READCONSOLE_CONTROL structure that specifies a control character to signal the end of the read operation. This parameter can be NULL

В нашем случае он вовсе не NULL, так что давайте посмотрим, как выглядит структура CONSOLE_READCONSOLE_CONTROL:

В результате получаем следующее:

Указание символов для остановки ввода происходит при помощи поля dwCtrlWakeupMask:

dwCtrlWakeupMask
A user-defined control character used to signal that the read is complete

Как видите, в нашем случае он содержит значение 0x200, которое получилось в результате выполнения операции битового сдвига 1 много нулей в поле «HEX +0C») и пишем туда следующий код (адреса, разумеется, могут отличаться):

, где 0x4A1542CD — это адрес, на который мы должны были перейти в результате условного перехода, находящегося по адресу 0x4A154299 и осуществляющего проверку на равенство текущего символа в команде на Tab. Тот переход, соответственно, заменяем на прыжок на наш code cave:

Я думаю, Вы уже заметили, что он затёр следующую инструкцию. Ничего страшного, т.к., по сути, ею являлась аналогичная проверка на равенство текущего символа на всё тот же Tab, а другими способами попасть на неё было нельзя. Чтобы убедиться в этом, можно выделить наши изменения, вернуть всё, как было, при помощи Alt-Backspace, выделить строчку с данной инструкцией и нажать Ctrl-R, где будет одна-единственная строчка с этим же адресом:

Проверяем работоспобность, и… По нажатию Tab’а forward slash’и действительно заменяются на backslash’и, в результате чего автодополнение выполняется по указанной пользователем директории, независимо от того, какие именно слеши он использовал изначально.

Послесловие

Кто-то может сказать, что это всё мелочи. Кому-то может не понравиться то, что эту задачу решаем мы, а не разработчики из Microsoft. Кому-то может вообще ничего не понравиться. Но факт остаётся фактом — свою проблему мы решили, и теперь cmd.exe работает так, как мы того хотели в самом начале статьи. А заниматься подобным или нет, решать уже Вам.

Справедливости ради стоит отметить, что в PowerShell эту «проблему», равно как и ситуацию с ключом «/D» для команды CD, всё же исправили.

Спасибо за внимание, и снова надеюсь, что статья оказалась кому-нибудь полезной.

Источник

forward slash

Смотреть что такое «forward slash» в других словарях:

forward slash — UK US noun [countable] [singular forward slash plural forward slashes] the symbol /, often used in internet addresses and computer instructions Thesaurus: symbols in computinghyponym … Useful english dictionary

forward slash — ˈforward ˌslash noun [countable] COMPUTING a line (/​) used in Internet addresses to separate the different parts * * * forward slash UK US noun [C] IT ► the symbol / that is used for separating words, letters, or numbers in internet addresses →… … Financial and business terms

forward slash — n BrE a line (/) used in writing, to separate words, numbers, or letters = ↑slash … Dictionary of contemporary English

forward slash — forward slashes N COUNT A forward slash is the sloping line / that separates letters, words, or numbers … English dictionary

forward slash — UK / US noun [countable] Word forms forward slash : singular forward slash plural forward slashes the symbol /, often used in internet addresses and computer instructions … English dictionary

forward slash — dešininis brūkšnys statusas T sritis informatika apibrėžtis Kompiuterio klaviatūroje esantis ženklas – į dešinę pasviręs brūkšnys (/). Kodai: 47 (ASCII dešimtainis), U+002F. Vartojamas ↑universaliuosiuose adresuose, taip pat ↑keliui nurodyti… … Enciklopedinis kompiuterijos žodynas

forward slash — noun A slash (the / symbol), in contradistinction to a backslash. Syn: oblique, shilling sign, slash, solidus, stroke … Wiktionary

forward slash — /fɔwəd ˈslæʃ/ (say forwuhd slash) noun → solidus (def. 3) … Australian-English dictionary

ˈforward ˌslash — noun [C] the symbol / used in Internet addresses and computer instructions … Dictionary for writing and speaking English

Slash (punctuation) — / Slash Punctuation apostrophe ( ’ … Wikipedia

Источник

Сказочный портал