LINUX.ORG.RU

Сообщения Krivenok_Dmitry

 

Валидация имени пользователя в Linux

Форум — Development

Есть строка. Нужно проверить является ли она допустимым именем
пользователя Linux.

Где почитать про допустимый набор символов и допустимую длину имени.
Является ли эта информация зависимой от дистрибутива, версий  
системных билиотек, версии ядра и т.п. 
Замечу, что речь идет ТОЛЬКО про Linux.

Может знает кто готовый regex - буду очень благодарен :)

P.S.
С паролем та же ситуация.
Krivenok_Dmitry
()

Computer programming quotes

Форум — Talks
Krivenok_Dmitry
()

KDM + QDialog = trouble

Форум — Development

Всем привет!

Мне необходимо пропатчить kdm, добавив возможность регистрации
пользователей.
Я добавил кнопку "Register" и связял её сигнал clicked() со слотом:

void
KStdGreeter::fake()
{
  KRegisterDialog d;
  d.exec();
}

/////////////// kregister_dialog.h //////////////////
#ifndef K_REGISTER_DIALOG_
#define K_REGISTER_DIALOG_

#include <qdialog.h>
#include <map>

class QLabel;
class QLineEdit;
class QWidget;
class QGridLayout;
class QPushButton;


class KRegisterDialog : public QDialog
{
//      Q_OBJECT
  public:
    KRegisterDialog(QWidget *parent = 0);
    ~KRegisterDialog();
  private:
    typedef enum {studentID, login, password, passwordAgain} fields_t;
    std::map<fields_t, QLabel*> labels_;
    std::map<fields_t, QLineEdit*> lineEdits_;
    QPushButton* submitButton_;
    QGridLayout* gLayout_;
};

#endif //K_REGISTER_DIALOG_

/////////////// kregister_dialog.cpp //////////////////
#include "kregister_dialog.h"
#include <qlabel.h>
#include <qlineedit.h>
#include <qwidget.h>
#include <qlayout.h>
#include <qpushbutton.h>

KRegisterDialog::KRegisterDialog(QWidget* parent) : QDialog(parent)
{
  labels_[studentID] = new QLabel("Student ID",this);
  lineEdits_[studentID] = new QLineEdit(this);

  labels_[login] = new QLabel("Login name",this);
  lineEdits_[login] = new QLineEdit(this);

  labels_[password] = new QLabel("Password",this);
  lineEdits_[password] = new QLineEdit(this);

  labels_[passwordAgain] = new QLabel("Retype password",this);
  lineEdits_[passwordAgain] = new QLineEdit(this);

  submitButton_ = new QPushButton(this);
  submitButton_->setText("Submit");

  gLayout_ = new QGridLayout(this);

  gLayout_->addWidget(labels_[studentID] ,0,0);
  gLayout_->addWidget(lineEdits_[studentID] ,0,1);
  gLayout_->addWidget(labels_[login] ,1,0);
  gLayout_->addWidget(lineEdits_[login] ,1,1);
  gLayout_->addWidget(labels_[password] ,2,0);
  gLayout_->addWidget(lineEdits_[password] ,2,1);
  gLayout_->addWidget(labels_[passwordAgain] ,3,0);
  gLayout_->addWidget(lineEdits_[passwordAgain] ,3,1);
  gLayout_->addWidget(submitButton_ ,4,1);
}

KRegisterDialog::~KRegisterDialog()
{
  // TODO : Free all!
}


Вот что получилось:
1) Диалог открывается не в отдельном окне, а накладывается на виджет
верхнего уровня (KStdGreeter)!!!
Почему - не понимаю. На маленьком примере все работает.
Подозреваю что-то в KDE!?
2) В QLineEdit'ы я ничего ввести не могу!

Вот такие странности.
Может подскажет кто в чем здесь дело?
Krivenok_Dmitry
()

Display manager с поддержкой регистрации пользователей из окна логина.

Форум — General

Идея простая.
Помимо Username и Password мне нужно еще и Register.

Я быстро (и не очень внимательно) почитал доку на kdm, xdm и gdm, но
ничего похожего на то, что мне нужно не нашел.

Есть ли другие DM, которые имеют требуемую функциональность?
Может видел кто патчи к приведенным выше DM?

Спасибо!
Krivenok_Dmitry
()

По каким правилам распределяется канал между программами

Форум — Admin

Почему, например, скорость скачивания в Opera понижется до нуля, когда
я включаю aMule (который соответственно и забирает все 256K).

Можно ли как-то контролировать этот процесс?
Krivenok_Dmitry
()

rapidshare

Форум — Talks

Есть у кого-нибудь скрипты для автоматической закачки с repidshare?
А то уж очень неудобно ей пользоваться.
Krivenok_Dmitry
()

Проблема с indent

Форум — Development

Есть тестовая программка, на которой видна проблема
#define N 100
int main()
{
static int arr[N] = {1, [1 ... (N - 1)] = 0};
}

Выполняю команду:
indent -bad -bap -cdb -bl -cli2 -nbc -bls -ppi 3 -lps test.c -o test2.c

Получаю результат:
#define N 100
int
main ()
{
  static int arr[N] = { 1,[1...(N - 1)] = 0 };
}

Компилирую
krivenok-home test # gcc test2.c
test2.c:5:28: too many decimal points in number
test2.c: In function `main':
test2.c:5: error: nonconstant array index in initializer
test2.c:5: error: (near initialization for `arr')

indent испортил программу, т.к. не сохранил пробелы вокруг троеточия!
Как заставить его их сохранять?

P.S.
Куча опций, которых я передаю, не влияют на проблему, т.к. 
аналогичное поведение и при запуске его без параметров :(
Krivenok_Dmitry
()

a2ps - как выставить разные отступы.

Форум — General

Есть опция --margin=N, но она выставляет отступ либо слева (portrait 
mode), либо сверху (landscape mode).

Мне же по сути нужны опции типа
--left-margin=A
--right-margin=B
--top-margin=C
--bottom-margin=D
Вообщем как в TeX'ском пакете geometry :)

В мане a2ps не нашел подобных возможностей.
Есть ли обходной способ получить разные отступы?

P.S.
А в остальном a2ps рулит :)
Krivenok_Dmitry
()

GRUB + Windows 2000

Форум — General

Всем привет!

У меня проблема с GRUB.
Имеется 2 винчестера 
  hda - 160Gb Windows 2000
  hdc - 60Gb  Gentoo Linux

В BIOS в boot sequence'е прописано
HDD-1 (aka hdc) // Сначала Grub
HDD-0 (aka hda) // Сюда не попадем, но вообще здесь boot loader винды
Соответственно, если изменить последовательность, то грузится винда.

Вот вывод fdisk'a
////////////////////////////////////////////////////////////////
krivenok-home ~ # fdisk /dev/hda

The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1       19455   156272256    7  HPFS/NTFS

Command (m for help):
krivenok-home ~ # fdisk /dev/hdc

The number of cylinders for this disk is set to 7297.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hdc: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1        4864    39070048+  83  Linux
/dev/hdc2            4865        7248    19149480   83  Linux
/dev/hdc3            7249        7297      393592+  82  Linux swap / Solaris
////////////////////////////////////////////////////////////////

Из grub.conf (выдрано из гентовского handbook'a)

title Windows 2000
rootnoverify (hd1,0)
makeactive
chainloader  +1

Тут именно (hd1,0) - я проверял из меню граба через tab completion.

СОБСТВЕННО ПРОБЛЕМА:
Когда нажимаю, чтобы загрузиться я вижу

Booting Windows 2000
rootnoverify (hd1,0)
makeactive
chainloader  +1

И все - на этом зависает :(
Что делать? В чем моя ошибка?

P.S.
Сама винда грузится нормально, если в BIOS boot sequence поменять.
Krivenok_Dmitry
()

eXtreme Programming

Форум — Development

Я тут прочитал пару книг по XP. Книги весьма толковые, однако некое
недоверие к данному подходу есть (что вполне нормально).

Кто-нибудь использовал XP при разработке? Как впечатление? 


Krivenok_Dmitry
()

Все входящие бесплатно + роуминг

Форум — Talks

Кто-нибудь знает, правило "все входящие бесплатно" действует 
действительно во ВСЕХ случаях?

Например, если я с питерского мегафона звоню на питреский мегафон 
абоненту, который сейчас в штатах, то он ничего не платит. Так?
Или он платит только за роуминг?
Krivenok_Dmitry
()

Support в России больше чем support....

Форум — Talks

Всем привет!

В продолжение темы 
http://www.linux.org.ru/jump-message.jsp?msgid=1507059

Позвонил я провайдеру, вот  краткое описание диалога

Я: У меня каждые несколько часов прерывается связь.
По LCP приходит Termination Request от вас.
П: А вы батенька на выход трафика больше генерируете чем на вход.
Это не нормально.
Я: Почему??? У меня же unlimit, в договоре про это ничего нет.
П: Это не нормально. Обычно пользователи качают файлы, а не наоборот.
У вас наверное вирус или троян.
Почистите компьютер, IE и т.п.
Я: Ну это не ответ.
Вы знаете причину проблемы (возможно это периодическое снятие статистики через Radius)?
П: Ну у вас проблемы как таковой нет.
Я: Как это нет??? Я компьютер часто использую в неинтерактивном режиме. На ночь оставляю закачки фильмов, дистрибутивов, emerge системы и т. д. и т. п.
П: Знали бы вы с какими проблемами к нам люди обращаются.
Я: Так в чем моя проблема???
П: Ну вы знаете, если у вас линия проложена под трамвайными путями например.
Трамвайчик проехал и соединение разорвалось.
Или в квартире - кот пробежал, лапкой провод задел и разрыв  связи.
Да даже лампочка рядом с модемом  загорелась и он может даже не 
подняться!
Я: (ох@евая и еле сдерживая смех). Понятно, а кто-нибудь может помочь?
П: Позвоните в DLink, может они вам что-нибудь умненькое скажут.
Я: Спасибо. До свидания.

Что еще сказать - высший пилотаж!
Вершина искусства работы в support'е!

P.S.
Для жителей Питера.
Провайдер - PTN. Avangard-adsl.
Krivenok_Dmitry
()

Проблема с GRUB в Gentoo : The root block device is unspecified or not detected

Форум — Admin

Всем привет!

Всю жизнь юзал lilo, а после установки генту решил попробовать grub.
Делал все вроде по доке, но при загрузке получаю ошибку:
...
Activating udev
Determining root device
The root block device is unspecified or not detected

Далее он предлагает указать девайс ручками.
Я пишу /dev/hdc2 и полетели! Загрузка продолжается успешно.

Вот кусок моего grub.conf

# For booting GNU/Linux
title  Gentoo Linux 2.6.12-r10
root (hd0,1)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192
real_root=/dev/hdc2 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10

Вот fstab

/dev/hdc1               /data           ext3            users,exec      0 2
/dev/hdc2               /               ext3            noatime 1 1
/dev/hdc3               none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      iso9660         noauto,ro,users 0 0
none                    /tmp/jack       tmpfs           defaults        0 0
proc                    /proc           proc            defaults        0 0
shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

Вот вывод fdisk

krivenok-home ~ # fdisk /dev/hdc

The number of cylinders for this disk is set to 7297.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hdc: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1               1        4864    39070048+  83  Linux
/dev/hdc2   *        4865        7248    19149480   83  Linux
/dev/hdc3            7249        7297      393592+  82  Linux swap / Solaris


В чем трабла?
Krivenok_Dmitry
()

ADSL + PPP + LCP + сранный разрыв связи

Форум — Admin

Всем привет!

Я использую ADSL модем D-Link DSL-200 под Gentoo:
  pppd 2.4.2
  rp-pppoe 3.5-r11
  eciadsl-usermode-0.11

Имеется весьма странное поведение - после нескольких часов работы 
соединение разрывается!

Вот кусок лога, в котором демонстрируется успешное 
подключение к провайдеру
---------------------------------------------
* The following section shows the pppd command we will invoke
pppd invocation
/usr/bin/setsid /usr/sbin/pppd pty '/usr/sbin/pppoe -p /var/run/-adsl.pid.pppoe -I tap0 -T 80 -U  -m 1412   '  noipdefault noauth default-asyncmap defaultroute hide-password nodetach  mtu 512 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user ptn lcp-echo-interval 20 lcp-echo-failure 3   debug
---------------------------------------------
using channel 26
Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
sent [LCP ConfReq id=0x1 <mru 1492> <magic 0xf6d6f92b>]
rcvd [LCP ConfReq id=0x9 <mru 1492> <auth pap> <magic 0x63fe861b>]
sent [LCP ConfAck id=0x9 <mru 1492> <auth pap> <magic 0x63fe861b>]
rcvd [LCP ConfAck id=0x1 <mru 1492> <magic 0xf6d6f92b>]
sent [LCP EchoReq id=0x0 magic=0xf6d6f92b]
sent [PAP AuthReq id=0x1 user="ptn" password=<hidden>]
rcvd [LCP EchoRep id=0x0 magic=0x63fe861b]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 89.110.4.137>]
sent [IPCP ConfReq id=0x2 <addr 89.110.4.137>]
rcvd [IPCP ConfReq id=0x35 <addr 89.110.4.1>]
sent [IPCP ConfAck id=0x35 <addr 89.110.4.1>]
rcvd [IPCP ConfAck id=0x2 <addr 89.110.4.137>]
local  IP address 89.110.4.137
remote IP address 89.110.4.1

А вот следующие строчки в нем (при разрыве)

rcvd [LCP TermReq id=0xa]
LCP terminated by peer
Script /etc/ppp/ip-down started (pid 16710)
sent [LCP TermAck id=0xa]
Modem hangup
Connection terminated.
Connect time 720.2 minutes.
Sent 1574570979 bytes, received 1052403621 bytes.
Waiting for 2 child processes...
  script /etc/ppp/ip-down, pid 16710
  script /usr/sbin/pppoe -p /var/run/-adsl.pid.pppoe -I tap0 -T 80 -U  -m 1412   , pid 14318
Script /usr/sbin/pppoe -p /var/run/-adsl.pid.pppoe -I tap0 -T 80 -U  -m 1412    finished (pid 14318), status = 0x0
Script /etc/ppp/ip-down finished (pid 16710), status = 0x1
Connect time 720.2 minutes.
Sent 1574570979 bytes, received 1052403621 bytes.

Как видно, по протоколу управления соединением LCP приходит 
termination request.
Приходит он очевидно (поправьте, если я не прав) от провайдера (т.е. 
от второй точки).
Вопрос - почему он приходит?!
Может ли это быть связано с проблемами с моей стороны?

Или провайдеры делают это специально (у меня 256K/Unlimit)?

Спасибо!
Krivenok_Dmitry
()

Чем посмотреть статистику обращения к диску/интенсивность использования swap и т.п.

Форум — Admin

Subj
Krivenok_Dmitry
()

Что умеет ДОписывать DVDR/DVDRW?

Форум — General

Я попробовал xCDRoast, k3b и graveman. Но ни один из них не позволяет дописывать данные на DVD (если я ошибаюсь, то скажите как).

Какие программы могут помочь?

Krivenok_Dmitry
()

Сетевой анализатор/визуализатор

Форум — Admin

Всем привет!

Если ли под линуксу программка, которая умеет в real time выводить
статистику о том сколько каждый процесс в системе потребляет 
трафика?
Например:
Opera 10Mb
aMule 500Kb   // И цифры эти должны изменяться
Skype 20Mb
...

Еще классно было бы иметь поддержку экспорта в JPEG/PNG различных
диаграмм.

Такие программки я видел под винду, но вот под линукс ничего
интересного не нашел.
Krivenok_Dmitry
()

А в цивилизованных странах тоже так....

Форум — Talks
Krivenok_Dmitry
()

Трабла с Lexmark Z35

Форум — Linux-hardware

Странное поведение принтера.
При печати принтер печатает ~ 1/5 страницы и лист выползает.
Раньше все было ОК, даже не знаю, что изменилось со времени 
корректной работы.

Может кто знает в чем проблема?
Krivenok_Dmitry
()

PHP Registration/Authorization Engine

Форум — Development

Привет!

Есть ли готовые решения для subj?
В google ничего интересного не нашел.
Krivenok_Dmitry
()

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