LINUX.ORG.RU

Избранные сообщения Mr_Gentoo

Обнаружена очередная local root уязвимость во всех Linux ядрах версии 3.3 и выше

Новости — Безопасность
Группа Безопасность

В конце прошлой недели на поверхности сети объявился эксплоит для уязвимости Линукс ядра, которая, судя по всему, существует уже очень продолжительное время и затрагивает все ядра, начиная с версии 3.3.0.

Ошибка находится в реализации функции sock_diag() и она позволяет локальному непривилегированному пользователю послать netlink сообщение, тем самым вызывая ошибку доступа вне границ, что позволяет коду, который выполняется в контексте пользователя, получить права ядра.

На ванильном ядре моей системы (3.7.9), под который эксплоит не заточен, выполнение программы вызывает полное зависание системы.

>>> Подробности

 , ,

birdie
()

Антивирус «Иммунитет»

Форум — Talks

 , ,

flareguner
()

Стивен Прата, «Язык программирования Си. Лекции и упражнения»

Форум — Development

Господа, что скажете про эту книгу? Уже читал K&R, хочется для закрепления и упорядочения знаний почитать что-нибудь менее хардкорное. Но, увы, нигде в электронном виде её не нашёл (кроме Google Books, но он не дал выкачать её всю, да и качество хреновое). Есть только на английском языке, но всё же хочется на русском. Если у кого-нибудь она завалялась, залейте в интернеты, буду весьма благодарен.

eugeno
()

Поможите скачать статью с ieee.org, пожалуйста

Форум — Talks

Всем привет

Сами мы не местныя и всё такое

Скачайте кто-нибудь, у кого универ не пожопился на доступ к ieeexplore, статью http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=808235&isnumber... (Fuzzy time-series model of electric power consumption)

Заранее спасибо. Дополнительные лучи добра за ссылку или отправку на hc@comp.susu.ac.ru

 , ,

hc
()

Глобальные хоткеи в xcb

Форум — Development

Пытюсь для приложения сделать потдержку хоткеев, что то все никак оно не хочет работать. В итоге решил создать маленькое приложение для «ковыряния» xcb.

Это пример приложения на xcb с википедии, туда я пытался добавить хоткеи

#include <xcb/xcb.h>
#include <xcb/xcb_keysyms.h>
#include <X11/keysym.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  xcb_connection_t    *c;
  xcb_screen_t        *s;
  xcb_window_t         w;
  xcb_gcontext_t       g;
  xcb_generic_event_t *e;
  uint32_t             mask;
  uint32_t             values[2];
  int                  done = 0;
  xcb_rectangle_t      r = { 20, 20, 60, 60 };

  c = xcb_connect(NULL,NULL);
  if (xcb_connection_has_error(c)) {
    printf("Cannot open display\n");
    exit(1);
  }

  s = xcb_setup_roots_iterator( xcb_get_setup(c) ).data;

  g = xcb_generate_id(c);
  w = s->root;
  mask = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES;
  values[0] = s->black_pixel;
  values[1] = 0;
  xcb_create_gc(c, g, w, mask, values);

  w = xcb_generate_id(c);
  mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK;
  values[0] = s->white_pixel;
  values[1] = XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_KEY_PRESS;
  xcb_create_window(c, s->root_depth, w, s->root,
                    10, 10, 100, 100, 1,
                    XCB_WINDOW_CLASS_INPUT_OUTPUT, s->root_visual,
                    mask, values);

  xcb_map_window(c, w);
  xcb_flush(c);

  // HOTKEYS
  xcb_key_symbols_t* keySymbs = xcb_key_symbols_alloc(c);
  xcb_keycode_t* keyCode = xcb_key_symbols_get_keycode(keySymbs, XK_F12);
  xcb_void_cookie_t vc = xcb_grab_key(c, 1, s->root, XCB_MOD_MASK_CONTROL | XCB_MOD_MASK_SHIFT, *keyCode,
                                     XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC);
  
  while (!done && (e = xcb_wait_for_event(c))) {
    switch (e->response_type & ~0x80) {
    case XCB_EXPOSE:
      xcb_poly_fill_rectangle(c, w, g,  1, &r);
      xcb_flush(c);
      break;
    case XCB_KEY_PRESS:
      fprintf(stderr, "Key pressed");
      break;
    }
    free(e);
  }

  xcb_disconnect(c);

  return 0;
}

По идее горячая клавиша должна быть CTRL+SHIFT+F12. В итоге запускаешь программу в терминале. Если окно программы активно, на консоль выводятся сообщения о нажатии клавишь, если же свернуть окно, оно перестает принимать события, т.е. нажатие CTRL+SHIFT+F12 не фиксируется.

Кто то знает как решить данную проблему? Скорее всего все очень просто, но какая либо информация гуглится на эту тему очень туго, а опыта программирования под X практически нет

Заранее спасибо)

dakuenjery
()

gcc 4.3 vs gcc 4.7

Форум — Development

А кто знает чего это gcc-4.7 дает более жирный код по сравнению с gcc-4.3?

компилирую busybox, бинарник 360 кб в gcc-4.3 против 512 от gcc-4.7.

 ,

irton
()

MIN_INT / -1

Форум — Talks

Поискал по форуму, кажется, эта тема еще не обсуждалась.

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

!Ъ:
http://avva.livejournal.com/2548306.html
http://users.livejournal.com/_winnie/375276.html

Ъ:

Прикольно - оказывается, инструкция idiv, деление со знаком, на x86 кидает исключение не только при делении на ноль, но и когда результат не помещается в регистр. А этого очень легко добиться, написав в C например INT_MIN / -1. Как мы помним, INT_MIN по модулю на единицу больше, чем INT_MAX; например, в 32-битных числах INT_MIN равно -2147483648, а INT_MAX равно 2147483647. Поэтому когда INT_MIN делят на -1, положительный результат не вмещается в 32 бита.

Само по себе это не катастрофа - ну кидает исключение, ну и подумаешь. Дело в том, однако, что про деление на ноль все знают и помнят, и проверяют перед попыткой делить. А против INT_MIN/-1 никто практически не защищается. Поэтому можно, например:

- крэшнуть компилятор (правда, игрушечный), PostgreSQL (не игрушечную) или антивирус;
- подвесить Windows 8;
- убить bash

 

geekless
()

Нововведения в 4-х рельсах

Форум — Talks

Перевёл вот: http://www.delta-zet.com/blog/3-new-in-rails-4

В кратце: куча депрекейшенов, очереди из коробки (правда, в 4.1), никаких attr_accesible теперь, strong_parametrs вместо них, стриминг из коробки.

Выглядит очень вкусно. Кто-нибудь из 1.5 местных рельсистов уже пробовал?

 ,

drakmail
()

HaikuOS

Форум — Desktop

рекомендую почитать http://habrahabr.ru/post/145325/ тк у меня гайка на реальном железе проживает более 3 лет, софта достаточно - натив, Qt и openjdk Для переключения раскладок удобно пользоваться свичером, который в опцпакажах есть.

Ну тут еще глянуть моно http://r28forum.ru/index.php?topic=440.60

 

beos
()

Почему не core-avx-i?

Форум — General

Имею Core i5 3470. Хотел попробовать -march=native вместо рукопашной core-avx-i -O2 -pipe, но все «проверялки» флагов которые будет использовать при -march=native выплевывают -march=corei7-avx. Мне не понятно почему не core-avx-i? Все инструкции типа -fc16,mdrnd и прочие которые появились в Ivy Bridge и которые задействуются при сборке под core-avx-i проц поддерживает. Почему тогда GCC упрямится?

Сначала я подумал, что это 4.6.3 отстал от жизни и собрал 4.7.2. В новом задействовано больше флагов, но таки опять corei7-avx.

Кто сталкивался? И вообще дискас.

sudo cast megabaks Kindly_Cat

 ,

partyzan
()

gvim + xft

Галерея — Скриншоты

Друзья, представляю вам свою реализацию рендеринга через XFT в gvim.

Долгое время я пользовался vim'ом в терминале urxvt+xft, и меня всё устраивало, кроме невозможности выбрать полноцветные цветовые схемы и скорости отрисовки сложной подсветки кода в php. Поэтому я начал рассматривать другие варианты запуска vim, среди которых были gvim+gtk1, gvim+gtk2, gvim+motif. Резултаты следующие:

gvim+gtk1 - работает быстро, нет рендеринга со сглаживанием, не поддерживается начиная с vim 7.3

gvim+gtk2 - есть рендеринг со сглаживанием, текст рисуется через pango, который тормоз. Работать в этом очень неуютно.

gvim+motif - работает быстро, поддерживается, нет рендеринга со сглаживанием.

Поскольку удовлетворительного варианта не нашлось, было решено закатать рукава и всё сделать самому. Допиливать неподдерживаемый gvim+gtk1 нет смысла, допиливать gvim+gtk2 было бы очень сложно, потому что для pango там отдельная большая ветка кода, и переписывать её не в кайф. А вот допиливать gvim+motif оказалось легко и приятно, потому что библиотека libxft сделана с оглядкой на поддержку X core fonts.

В результате допиливания получилось то, что видно на скриншоте. Код брать здесь http://code.google.com/r/thesameml-vim-xft/source/checkout собирать как обычный gvim только с --enable-gui=motif --enable-xft. Шрифт устанавливать так ":set guifont=Monospace-10". Диалог выбора шрифта я ещё не портировал, потому что там чёртов Xt, в котором ничего не понятно.

Скорость отрисовки оказалась средней между pango и x core fonts.

Кроме того, оказалось, что в тормозах отрисовки виноват не только движок рендеринга, но и подсветка синтаксиса, которая для php сделана исключительно тормозно. Поэтому для тех, кому это может пригодиться, вот ускоренная упрощённая подсветка: https://gist.github.com/4610024

Код: http://code.google.com/r/thesameml-vim-xft/source/checkout

Подсветка php: https://gist.github.com/4610024

 , , ,

thesame
()

Нетбук и десктоп в одном лице

Галерея — Скриншоты

Собственно мой первый скриншот на лоре. Вы можете созерцать рабочее пространство моего основного компьютера.

  • FreeBSD 9.1-RELEASE
  • Fluxbox 1.3.3
  • Шрифт везде, кроме браузеров - Terminus
  • Galculator для демонстрации внешнего вида gtk2-приложений
  • Справа панель слитов, список (по порядку):
    • wmmatrix
    • wmcpuload
    • wmapmload
    • wmupmon
    • wmtop
    • wmnet
    • wmwlmon
    • wmsmixer
    • wmcube

Рабочих столов 12. На первом запущена Opera, на втором mplayer с фильмом, третий для pidgin, четвертый и пятый обычно используется для чтени книг и firefox'а с тором, на остальных просто терминалы и удаленные подключения. Вместо обоев на каждом рабочем столе терминал, запущенный без декораций и скрытый на панели задач, запускаются терминалы и слиты при старте Fluxbox'а. Тема Fluxbox самопальная. Черный фон гораздо более приятен для глаз и не напрягает моё зрение, не сочтите за любителя «кулхацкерского» оформления. И да, часть слитов бесполезны, используются для заполнения пустующего пространства.

Как-то так.

 ,

IPR
()

«Високосное лето» — хороший, годный эклектичный прог родом из советкого союза

Форум — Talks

http://www.progarchives.com/artist.asp?id=2796
http://www.rock-book.ru/rus/visokosnoe_leto/story.html

Прекрасный прог, временами даже на уровне KC или VDGG.

Искать на лучших трекерах страны.

fat_angel
()

MMORPG «Простите что долго не появлялся»

Форум — Games

Здарова - Великий гуру Линукса и OSX долго не появлялся в виде, правке, фейле полной занятости, и поэтоме появляется. Он работал долго и упороно, сегфолтился и...

вот! после ДТП с участием собственной великости и сложностей представляет первый скриншот новой ММОРПГ ИГРЫ (для линуксоидов и ОСХников) «Простите что долго не появлялся»

вот держите и посмотрите на первый оффициальный скриник проекта и надейтесь на успешное инновационное развитие: также принимаются предложения - и - правки

скрин: скриншотик

а также предлагаю ознакомиться с лицензией на ММОРПГ она тоже инновационная

лицензия: ссылочка

распространяется по:
ТЕМАСООБЩЕНИЕ-СКРИНШОТОВАЯ ЛИЦЕНЗИЯ СВОБОДНОЙ ИНФОРМАЦИИ
Версии №1, 15/I-2013 года.
Права закреплены (C) за carthrbc
17 января 2013 года

carthrbc
()

pm-utils: убъем ваш винт за пол года

Форум — Talks

Какой упоротый разработчик запилил вот это:

/usr/lib/pm-utils/power.d/harddrive

# Default values on AC
DRIVE_SPINDOWN_VALUE_AC="${DRIVE_SPINDOWN_VALUE_AC:-0}"
DRIVE_WRITE_CACHE_AC="${DRIVE_WRITE_CACHE_AC:-1}" 
DRIVE_POWER_MGMT_AC="${DRIVE_POWER_MGMT_AC:-254}"
DRIVE_ACOUSTIC_MGMT_AC="${DRIVE_ACOUSTIC_MGMT_AC:-0}"

# Default values on battery
DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-6}" # Парковка головок винта каждые 30 сек неактивности
DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-0}" 
DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-1}" # Агрессивный метод энергосбережения, винт паркуется сразу после прекращения активности.
DRIVE_ACOUSTIC_MGMT_BAT="${DRIVE_ACOUSTIC_MGMT_BAT:-254}"

Ниже идет хелп, что к чему.

This hook has 8 tuneable parameters:
DRIVE_SPINDOWN_VALUE_AC = time until a drive will spin down on AC
Defaults to 0, which disables drive spindown.
DRIVE_SPINDOWN_VALUE_BAT = time until a drive will spin down on battery
Defaults to 6, which will spin the drive down after 30 seconds of inactivity.

See the -S option on the hdparm manpage for more information.

DRIVE_WRITE_CACHE_AC = Whether the drive caches writes on AC
Defaults to 1, which means that the drive will cache writes internally.
DRIVE_WRITE_CACHE_BAT = Whether the drive caches writes on battery.
Defaults to 0 which means that the drive will not cache writes internally.

See the -W option on the hdparm man page for more information.

DRIVE_POWER_MGMT_AC = Drive Advanced Power Management value on AC
Defaults to 254 for max performance.
DRIVE_POWER_MGMT_BAT = Drive Advanced Power Management value on battery
Defaults to 1 for max power savings.

See the -B option on the hdparm man page

Drive acoustic management:
DRIVE_ACOUSTIC_MGMT_AC = Drive Acoustic Management value on AC
Defaults to 254 for max head speed.
DRIVE_ACOUSTIC_MGMT_BAT = Drive Acoustic Management value on battery
Defaults to 128 for max quietness.

See the -M option on the hdparm man page.
Итог. Ноут взят был в начале декабря. Спустя 3.5 недели на винте было ~7k парковок, а еще спустя 2 недели - 9.5k. Хорошо что догадался проверить винт на предмет наличия «зелености» aka WD Green (свой грин благополучно вылечил:)). Скрипт подправил, но осадочек остался. Есть желание написать на мыло разработчику и послать ему лучи добра. Будьте бдительны, и при покупке новых железяк, в часности винтов, смотрите сразу данные smart.

$subj

P.S. Для тех кто не в теме: ресурс парковок головок ограничен, на разных винтах по разному, но в целом производитель дает гарантию на то, что 300-600k парковок винт отработает.

P.P.S. Gentoo, но есть подозрения, что и в других дистрах та же херня.

UPD: http://cgit.freedesktop.org/pm-utils/tree/pm/power.d/harddrive - значения те же, что и привел выше, буду пинать разрабочиков, думал может гентушние майнтейнеры накосячили

UPD2: https://bugs.freedesktop.org/show_bug.cgi?id=36956 - бага на официальной багзилле.

UPD3: https://bugs.gentoo.org/show_bug.cgi?id=452362 баг на гентушной багзилле

 ,

leg0las
()

Отключить лишнее видеоядро в ноутбуке

Форум — Linux-hardware

Есть ноутбук, под форточками нвидиа-ядро отключается через Device Manager, как забанить видеокарту в линуксе, чтобы ноут подольше жил (она совсем не нужна, есть встройка от интела, которой мне за глаза хватает).

 

ossnewcomer
()

Как правильно: получать возмещение за ненужную винду

Форум — Talks

http://ottoteixeira.com/2013/01/09/reembolso-pelo-windows-novamente-dessa-vez...

Краткое изложение: один скромный парниша из Бразилии купил ноут за 1200 реалов (600 долларов США). Но там стояла винда, которую он попытался вернуть, а ему давали всего полтинник за нее, тогда как при покупке предыдущего ноута - больше сотни. Тогда он подал в суд, отымел в голову продавца и Леново и через год получил 2200 реалов компенсации за все.

В коментах там есть вопрос, можно ли вернуть таким же образом деньги за макос.

 

abraziv_whiskey
()

С этим надо что-то делать...

Форум — Linux-org-ru

Получил забытый пароль... теперь я оказывается вон кто...

Administrator
()

devtodo — хорошая консольная утилита для ведения списка дел

Форум — General

Недавно озаботился тем, что время вечно уплывает и перед глазами очень не хватает такого большого, яркого и длинного списка дел, которыми всегда можно заняться. Или заняться пополнением оного, если вместо списка видна зияющая чернота.

Странно и смешно, но на поиски меня подтолкнула статья на вообще стороннюю тему с ненужнабра, где люди советовали друг другу миниплан, вандерлист и прочие папирусыдотнет. Поскрипев зубами после опробования, я пошёл в гугл, предваряя фразы для поиска словами «linux» и «gentoo». «Чур меня» сработало, но выдавало всякий консольный шлак с невозможным синтаксисом. Названия не запомнил, простите.

И вот, слегка подмерзая во втором часу ночи (мир был дособран ещё днём, а на улице минус двенадцать) я решил почистить всякий мусор, который недосмотрел портаж, а после этого поискать что-нибудь в дереве насчёт to do. И нашёл! Нашёл!

Мне нечего о ней рассказывать, просто поставьте её

emerge -av devtodo && eselect bashcomp enable devtodo
и попробуйте. Она невероятно лёгкая, простая и удивляет своей продуманностью.

Однако же, есть ложка дёгтя, о которой вы могли догадаться по наличию тега — погуглив и проверив мету ебилда я пришёл к выводу, что мейнтейнить эту вещь некому, и последняя запись в чейнджлоге сделана 18 марта того года. Сам автор за это время написал devtodo заново на Go, по его словам вторая версия работает гораздо быстрее первой, написанной на крестах, но второй в дереве вообще нет, а по первой у меня наскреблись кое-какие замечания (либо это я что-то не понял). В любом случае уже начатое письмо автору было отправлено в devnull, потому что приставать к разарботчику с вопросами по какой-то древней софтине, которая чудом ещё не выпилена из дерева, мне показалось как-то не комильфо.

Может, кому-нибудь она так же приглянётся и он возьмёт её помейнтейнить и доведёт новые версии до дерева, а, Pinkbyte? Я б может и сам вызвался, так как давно хотел подтянуть себя в написании серьёзных ебилдов, но ведь мейнтейнить что хочешь тебе же дадут, если ты новичок, верно?

 ,

Deleted
()

Gentoo: новичкам

Форум — Talks

Накидал тут ---> http://megabaks.blogspot.ru/2013/01/gentoo.html
Материтесь и напоминайте что я забыл :3
Valdor, Mitre, WiZ_Ed...жду
З.Ы. да-да, типа пеар и т.д., трите не сразу хоть

 

megabaks
()