#6204 thin client ignores locale change
Closed: Fixed None Opened 7 years ago by dkupka.

Steps to reproduce:

$ rm -fr ~/.cache/ipa
$ LC_ALL=uk_UA.utf8 ipa user-add --help
$ LC_ALL=en_GB.utf8 ipa user-add --help

Got:
Twice the Ukrainian version

Usage: ipa [global-options] user-add LOGIN [options]

Додати нового користувача.
Options:
  -h, --help            show this help message and exit
  --first=STR           Ім'я
  --last=STR            Прізвище
  --cn=STR              Повне ім’я
  --displayname=STR     Екранне ім'я
  --initials=STR        Ініціали
  --homedir=STR         Домашній каталог
  --gecos=STR           GECOS
  --shell=STR           Оболонка входу
  --principal=PRINCIPAL
                        Principal alias
  --principal-expiration=DATETIME
                        Завершення строку дії реєстраційного запису Kerberos
  --email=STR           Адреса ел. пошти
  --password            Надіслати запит щодо встановлення пароля користувача
  --random              Створити випадковий пароль для користувача
  --uid=INT             Ідентифікаційний номер користувача (система призначить
                        його, якщо не буде вказано)
  --gidnumber=INT       Ід. номер групи
  --street=STR          Вулиця і будинок
  --city=STR            Місто
  --state=STR           Область/провінція
  --postalcode=STR      Індекс
  --phone=STR           Номер телефону
  --mobile=STR          Номер мобільного телефону
  --pager=STR           Номер пейджера
  --fax=STR             Номер факсу
  --orgunit=STR         Підрозділ
  --title=STR           Посада
  --manager=STR         Керівник
  --carlicense=STR      Водійська ліцензія
  --sshpubkey=STR       Відкритий ключ SSH
  --user-auth-type=['password', 'radius', 'otp']
                        Типи підтримуваного розпізнавання користувачів
  --class=STR           Категорія вузлів (семантику цього атрибуту призначено
                        для локальної обробки)
  --radius=STR          Налаштування проксі RADIUS
  --radius-username=STR
                        Ім’я користувача проксі-сервера RADIUS
  --departmentnumber=STR
                        Номер відділу
  --employeenumber=STR  Номер працівника
  --employeetype=STR    Тип працівника
  --preferredlanguage=STR
                        Бажана мова
  --certificate=BYTES   Сертифікат користувача у кодуванні Base-64
  --setattr=STR         Встановити атрибут для пари назва/значення. Формат:
                        атрибут=значення. Для атрибутів з багатьма значенням
                        команда замінює вже вказані значення.
  --addattr=STR         Додати пару атрибут/значення. Формат:
                        атрибут=значення. Атрибут має бути частиною схеми.
  --noprivate           Не створювати закриту групу користувача
  --all                 Отримати і вивести всі атрибути з сервера. Стосується
                        лише виводу команд.
  --raw                 Вивести записи у формі, у якій вони зберігаються на
                        сервері. Стосується лише формату виведення даних.
  --no-members          Придушити обробку атрибутів участі.
Usage: ipa [global-options] user-add LOGIN [options]

Додати нового користувача.
Options:
  -h, --help            show this help message and exit
  --first=STR           Ім'я
  --last=STR            Прізвище
  --cn=STR              Повне ім’я
  --displayname=STR     Екранне ім'я
  --initials=STR        Ініціали
  --homedir=STR         Домашній каталог
  --gecos=STR           GECOS
  --shell=STR           Оболонка входу
  --principal=PRINCIPAL
                        Principal alias
  --principal-expiration=DATETIME
                        Завершення строку дії реєстраційного запису Kerberos
  --email=STR           Адреса ел. пошти
  --password            Надіслати запит щодо встановлення пароля користувача
  --random              Створити випадковий пароль для користувача
  --uid=INT             Ідентифікаційний номер користувача (система призначить
                        його, якщо не буде вказано)
  --gidnumber=INT       Ід. номер групи
  --street=STR          Вулиця і будинок
  --city=STR            Місто
  --state=STR           Область/провінція
  --postalcode=STR      Індекс
  --phone=STR           Номер телефону
  --mobile=STR          Номер мобільного телефону
  --pager=STR           Номер пейджера
  --fax=STR             Номер факсу
  --orgunit=STR         Підрозділ
  --title=STR           Посада
  --manager=STR         Керівник
  --carlicense=STR      Водійська ліцензія
  --sshpubkey=STR       Відкритий ключ SSH
  --user-auth-type=['password', 'radius', 'otp']
                        Типи підтримуваного розпізнавання користувачів
  --class=STR           Категорія вузлів (семантику цього атрибуту призначено
                        для локальної обробки)
  --radius=STR          Налаштування проксі RADIUS
  --radius-username=STR
                        Ім’я користувача проксі-сервера RADIUS
  --departmentnumber=STR
                        Номер відділу
  --employeenumber=STR  Номер працівника
  --employeetype=STR    Тип працівника
  --preferredlanguage=STR
                        Бажана мова
  --certificate=BYTES   Сертифікат користувача у кодуванні Base-64
  --setattr=STR         Встановити атрибут для пари назва/значення. Формат:
                        атрибут=значення. Для атрибутів з багатьма значенням
                        команда замінює вже вказані значення.
  --addattr=STR         Додати пару атрибут/значення. Формат:
                        атрибут=значення. Атрибут має бути частиною схеми.
  --noprivate           Не створювати закриту групу користувача
  --all                 Отримати і вивести всі атрибути з сервера. Стосується
                        лише виводу команд.
  --raw                 Вивести записи у формі, у якій вони зберігаються на
                        сервері. Стосується лише формату виведення даних.
  --no-members          Придушити обробку атрибутів участі.

Expected:
Ukrainian version followed be English version

Usage: ipa [global-options] user-add LOGIN [options]

Додати нового користувача.
Options:
  -h, --help            show this help message and exit
  --first=STR           Ім'я
  --last=STR            Прізвище
  --cn=STR              Повне ім’я
  --displayname=STR     Екранне ім'я
  --initials=STR        Ініціали
  --homedir=STR         Домашній каталог
  --gecos=STR           GECOS
  --shell=STR           Оболонка входу
  --principal=PRINCIPAL
                        Principal alias
  --principal-expiration=DATETIME
                        Завершення строку дії реєстраційного запису Kerberos
  --email=STR           Адреса ел. пошти
  --password            Надіслати запит щодо встановлення пароля користувача
  --random              Створити випадковий пароль для користувача
  --uid=INT             Ідентифікаційний номер користувача (система призначить
                        його, якщо не буде вказано)
  --gidnumber=INT       Ід. номер групи
  --street=STR          Вулиця і будинок
  --city=STR            Місто
  --state=STR           Область/провінція
  --postalcode=STR      Індекс
  --phone=STR           Номер телефону
  --mobile=STR          Номер мобільного телефону
  --pager=STR           Номер пейджера
  --fax=STR             Номер факсу
  --orgunit=STR         Підрозділ
  --title=STR           Посада
  --manager=STR         Керівник
  --carlicense=STR      Водійська ліцензія
  --sshpubkey=STR       Відкритий ключ SSH
  --user-auth-type=['password', 'radius', 'otp']
                        Типи підтримуваного розпізнавання користувачів
  --class=STR           Категорія вузлів (семантику цього атрибуту призначено
                        для локальної обробки)
  --radius=STR          Налаштування проксі RADIUS
  --radius-username=STR
                        Ім’я користувача проксі-сервера RADIUS
  --departmentnumber=STR
                        Номер відділу
  --employeenumber=STR  Номер працівника
  --employeetype=STR    Тип працівника
  --preferredlanguage=STR
                        Бажана мова
  --certificate=BYTES   Сертифікат користувача у кодуванні Base-64
  --setattr=STR         Встановити атрибут для пари назва/значення. Формат:
                        атрибут=значення. Для атрибутів з багатьма значенням
                        команда замінює вже вказані значення.
  --addattr=STR         Додати пару атрибут/значення. Формат:
                        атрибут=значення. Атрибут має бути частиною схеми.
  --noprivate           Не створювати закриту групу користувача
  --all                 Отримати і вивести всі атрибути з сервера. Стосується
                        лише виводу команд.
  --raw                 Вивести записи у формі, у якій вони зберігаються на
                        сервері. Стосується лише формату виведення даних.
  --no-members          Придушити обробку атрибутів участі.
Usage: ipa [global-options] user-add LOGIN [options]

Add a new user.
Options:
  -h, --help            show this help message and exit
  --first=STR           First name
  --last=STR            Last name
  --cn=STR              Full name
  --displayname=STR     Display name
  --initials=STR        Initials
  --homedir=STR         Home directory
  --gecos=STR           GECOS
  --shell=STR           Login shell
  --principal=PRINCIPAL
                        Principal alias
  --principal-expiration=DATETIME
                        Kerberos principal expiration
  --email=STR           Email address
  --password            Prompt to set the user password
  --random              Generate a random user password
  --uid=INT             User ID Number (system will assign one if not
                        provided)
  --gidnumber=INT       Group ID Number
  --street=STR          Street address
  --city=STR            City
  --state=STR           State/Province
  --postalcode=STR      ZIP
  --phone=STR           Telephone Number
  --mobile=STR          Mobile Telephone Number
  --pager=STR           Pager Number
  --fax=STR             Fax Number
  --orgunit=STR         Org. Unit
  --title=STR           Job Title
  --manager=STR         Manager
  --carlicense=STR      Car License
  --sshpubkey=STR       SSH public key
  --user-auth-type=['password', 'radius', 'otp']
                        Types of supported user authentication
  --class=STR           User category (semantics placed on this attribute are
                        for local interpretation)
  --radius=STR          RADIUS proxy configuration
  --radius-username=STR
                        RADIUS proxy username
  --departmentnumber=STR
                        Department Number
  --employeenumber=STR  Employee Number
  --employeetype=STR    Employee Type
  --preferredlanguage=STR
                        Preferred Language
  --certificate=BYTES   Base-64 encoded user certificate
  --setattr=STR         Set an attribute to a name/value pair. Format is
                        attr=value. For multi-valued attributes, the command
                        replaces the values already present.
  --addattr=STR         Add an attribute/value pair. Format is attr=value. The
                        attribute must be part of the schema.
  --noprivate           Don't create user private group
  --all                 Retrieve and print all attributes from the server.
                        Affects command output.
  --raw                 Print entries as stored on the server. Only affects
                        output format.
  --no-members          Suppress processing of membership attributes.

master:

  • 4b43558 schema check: Check current client language against cached one

master:

  • b6d5ed1 schema cache: Fallback to 'en_us' when locale is not available

Metadata Update from @dkupka:
- Issue assigned to dkupka
- Issue set to the milestone: FreeIPA 4.4.1

7 years ago

Login to comment on this ticket.

Metadata