Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-27 Por tôpico Paulo
Opa,

obrigado Terceiro, vou pedir ajuda no mentors.

[]'s
kretcheu
:x


Em 26-07-2016 09:56, Antonio Terceiro escreveu:
> On Mon, Jul 25, 2016 at 12:01:37PM -0300, Paulo wrote:
>> Oi Terceiro,
>>
>> pois é, a dúvida permanece, pois:
>>
>> grep  g++ ../*.build | grep cpp|grep -v FORTIFY
>>
>> não devolve nada, o que nos permite deduzir que todas as linhas que compilam 
>> os cpps tem o FORTIFY.
>>
>> estariam em posição errada?
> 
> eu _acho_ que a posição não deveria fazer diferença
> 
>> Estou propenso a achar que é um falso positivo, o que acha?
> 
> você quer dizer falso negativo?
> 
> com eu disse antes, eu acho muito mais provável que seja um falso
> positivo do blhc, por olhar apenas o log, do que um falto negativo do
> hardening-check, que olha de fato os binários produzido no final. mas
> posso estar errado. eu compilei o pacote aqui e vejo o mesmo que você
> aí, a compilação de fato tem a flag lá, mas o binário não.
> 
> talvez se você mandar o link do .dsc e perguntar na -mentors, você
> consiga gente que entende muito mais do que eu disso tudo pra ajudar.
> 



signature.asc
Description: OpenPGP digital signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-26 Por tôpico Antonio Terceiro
On Mon, Jul 25, 2016 at 12:01:37PM -0300, Paulo wrote:
> Oi Terceiro,
> 
> pois é, a dúvida permanece, pois:
> 
> grep  g++ ../*.build | grep cpp|grep -v FORTIFY
> 
> não devolve nada, o que nos permite deduzir que todas as linhas que compilam 
> os cpps tem o FORTIFY.
> 
> estariam em posição errada?

eu _acho_ que a posição não deveria fazer diferença

> Estou propenso a achar que é um falso positivo, o que acha?

você quer dizer falso negativo?

com eu disse antes, eu acho muito mais provável que seja um falso
positivo do blhc, por olhar apenas o log, do que um falto negativo do
hardening-check, que olha de fato os binários produzido no final. mas
posso estar errado. eu compilei o pacote aqui e vejo o mesmo que você
aí, a compilação de fato tem a flag lá, mas o binário não.

talvez se você mandar o link do .dsc e perguntar na -mentors, você
consiga gente que entende muito mais do que eu disso tudo pra ajudar.


signature.asc
Description: PGP signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-25 Por tôpico Paulo
Oi Terceiro,

pois é, a dúvida permanece, pois:

grep  g++ ../*.build | grep cpp|grep -v FORTIFY

não devolve nada, o que nos permite deduzir que todas as linhas que compilam os 
cpps tem o FORTIFY.

estariam em posição errada?

Estou propenso a achar que é um falso positivo, o que acha?

[]'s
kretcheu
:x


Em 25-07-2016 08:06, Antonio Terceiro escreveu:
> On Mon, Jul 25, 2016 at 07:59:56AM -0300, Antonio Terceiro wrote:
>> On Sun, Jul 24, 2016 at 03:53:39PM -0300, Paulo wrote:
>>> Opa,
>>>
>>> fiz um teste que pode dar uma luz, para quem entende!!
>>>
>>> Alterei o makefile.in que que produz as linhas onde não aparecia o FORTIFY 
>>> colocando "na unha" a flag, assim.
>>>
>>> grep  g++ ../*.build | grep -v FORTIFY
>>>
>>> checking for g++... g++
>>> checking whether g++ accepts -g... yes
>>> checking dependency style of g++... none
>>> checking how to run the C++ preprocessor... g++ -E
>>> checking for ld used by g++... /usr/bin/ld -m elf_x86_64
>>> checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
>>> libraries... yes
>>> checking for g++ option to produce PIC... -fPIC
>>> checking if g++ PIC flag -fPIC works... yes
>>> checking if g++ supports -c -o file.o... yes
>>> checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
>>> libraries... yes
>>>
>>> ou seja aquelas linhas que não possuíam o FORTiFY passaram a possuir 
>>> ficando assim:
>>>
>>> /bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE 
>>> -fstack-protector-strong -Wformat -Werror=format-security -Wall  -fPIE -pie 
>>> -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -D_FORTIFY_SOURCE=2 -o lostirc  
>>> main.o MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o 
>>> GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o 
>>> ../libirc/libirc.a -lgtkmm-2.4 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 
>>> -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 
>>> -lfontconfig -lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 
>>> -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 
>>> -lglib-2.0 -lcairo 
>>> mkdir .libs
>>>
>>> g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
>>> -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed 
>>> -D_FORTIFY_SOURCE=2 -o lostirc main.o MainWindow.o MainNotebook.o Tab.o 
>>> Prefs.o ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o 
>>> NickList.o DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 
>>> -lgiomm-2.4 -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 
>>> -lpangoft2-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so 
>>> -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 
>>> -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -Wl,--rpath 
>>> -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu
>>>
>>> No entanto.
>>
>> o problema é que -D_FORTIFY_SOURCE=2 afeta o preprocessador, e nesses
>> dois comandos aqui você está apenas fazendo o link de binários
>> pré-compilados (*.o) num binário dinâmico final.
>>
>> o -D_FORTIFY_SOURCE=2 aparece nos pontos onde se está compilando de fato
>> o código C (*.c) pros arquivos de código objeto (*.o)?
> 
> err, s/*.c/*.cpp/ nesse caso
> 



signature.asc
Description: OpenPGP digital signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-25 Por tôpico Antonio Terceiro
On Mon, Jul 25, 2016 at 07:59:56AM -0300, Antonio Terceiro wrote:
> On Sun, Jul 24, 2016 at 03:53:39PM -0300, Paulo wrote:
> > Opa,
> > 
> > fiz um teste que pode dar uma luz, para quem entende!!
> > 
> > Alterei o makefile.in que que produz as linhas onde não aparecia o FORTIFY 
> > colocando "na unha" a flag, assim.
> > 
> > grep  g++ ../*.build | grep -v FORTIFY
> > 
> > checking for g++... g++
> > checking whether g++ accepts -g... yes
> > checking dependency style of g++... none
> > checking how to run the C++ preprocessor... g++ -E
> > checking for ld used by g++... /usr/bin/ld -m elf_x86_64
> > checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
> > libraries... yes
> > checking for g++ option to produce PIC... -fPIC
> > checking if g++ PIC flag -fPIC works... yes
> > checking if g++ supports -c -o file.o... yes
> > checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
> > libraries... yes
> > 
> > ou seja aquelas linhas que não possuíam o FORTiFY passaram a possuir 
> > ficando assim:
> > 
> > /bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE 
> > -fstack-protector-strong -Wformat -Werror=format-security -Wall  -fPIE -pie 
> > -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -D_FORTIFY_SOURCE=2 -o lostirc  
> > main.o MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o 
> > GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o 
> > ../libirc/libirc.a -lgtkmm-2.4 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 
> > -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 
> > -lfontconfig -lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 
> > -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 
> > -lglib-2.0 -lcairo 
> > mkdir .libs
> > 
> > g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
> > -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed 
> > -D_FORTIFY_SOURCE=2 -o lostirc main.o MainWindow.o MainNotebook.o Tab.o 
> > Prefs.o ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o 
> > NickList.o DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 
> > -lgiomm-2.4 -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 
> > -lpangoft2-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so 
> > -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 
> > -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -Wl,--rpath 
> > -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu
> > 
> > No entanto.
> 
> o problema é que -D_FORTIFY_SOURCE=2 afeta o preprocessador, e nesses
> dois comandos aqui você está apenas fazendo o link de binários
> pré-compilados (*.o) num binário dinâmico final.
> 
> o -D_FORTIFY_SOURCE=2 aparece nos pontos onde se está compilando de fato
> o código C (*.c) pros arquivos de código objeto (*.o)?

err, s/*.c/*.cpp/ nesse caso


signature.asc
Description: PGP signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-25 Por tôpico Antonio Terceiro
On Sun, Jul 24, 2016 at 03:53:39PM -0300, Paulo wrote:
> Opa,
> 
> fiz um teste que pode dar uma luz, para quem entende!!
> 
> Alterei o makefile.in que que produz as linhas onde não aparecia o FORTIFY 
> colocando "na unha" a flag, assim.
> 
> grep  g++ ../*.build | grep -v FORTIFY
> 
> checking for g++... g++
> checking whether g++ accepts -g... yes
> checking dependency style of g++... none
> checking how to run the C++ preprocessor... g++ -E
> checking for ld used by g++... /usr/bin/ld -m elf_x86_64
> checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
> libraries... yes
> checking for g++ option to produce PIC... -fPIC
> checking if g++ PIC flag -fPIC works... yes
> checking if g++ supports -c -o file.o... yes
> checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
> libraries... yes
> 
> ou seja aquelas linhas que não possuíam o FORTiFY passaram a possuir ficando 
> assim:
> 
> /bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall  -fPIE -pie 
> -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -D_FORTIFY_SOURCE=2 -o lostirc  
> main.o MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o 
> Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o ../libirc/libirc.a 
> -lgtkmm-2.4 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-x11-2.0 -lgdk-x11-2.0 
> -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig -lfreetype -latkmm-1.6 
> -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 
> -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo 
> mkdir .libs
> 
> g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
> -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed 
> -D_FORTIFY_SOURCE=2 -o lostirc main.o MainWindow.o MainNotebook.o Tab.o 
> Prefs.o ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o 
> NickList.o DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 -lgiomm-2.4 
> -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 
> -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -latkmm-1.6 -latk-1.0 
> -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 
> -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -Wl,--rpath 
> -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu
> 
> No entanto.

o problema é que -D_FORTIFY_SOURCE=2 afeta o preprocessador, e nesses
dois comandos aqui você está apenas fazendo o link de binários
pré-compilados (*.o) num binário dinâmico final.

o -D_FORTIFY_SOURCE=2 aparece nos pontos onde se está compilando de fato
o código C (*.c) pros arquivos de código objeto (*.o)?


signature.asc
Description: PGP signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-24 Por tôpico Paulo
Opa,

fiz um teste que pode dar uma luz, para quem entende!!

Alterei o makefile.in que que produz as linhas onde não aparecia o FORTIFY 
colocando "na unha" a flag, assim.

grep  g++ ../*.build | grep -v FORTIFY

checking for g++... g++
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared 
libraries... yes

ou seja aquelas linhas que não possuíam o FORTiFY passaram a possuir ficando 
assim:

/bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE -fstack-protector-strong 
-Wformat -Werror=format-security -Wall  -fPIE -pie -Wl,-z,relro -Wl,-z,now 
-Wl,--as-needed -D_FORTIFY_SOURCE=2 -o lostirc  main.o MainWindow.o 
MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o Entry.o StatusBar.o 
TextWidget.o NickList.o DCCList.o ../libirc/libirc.a -lgtkmm-2.4 -lgtk-x11-2.0 
-lgdkmm-2.4 -lgiomm-2.4 -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 
-lpangoft2-1.0 -lfontconfig -lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 
-lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 
-lgobject-2.0 -lglib-2.0 -lcairo 
mkdir .libs

g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
-Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed 
-D_FORTIFY_SOURCE=2 -o lostirc main.o MainWindow.o MainNotebook.o Tab.o Prefs.o 
ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o 
DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-x11-2.0 
-lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig 
/usr/lib/x86_64-linux-gnu/libfreetype.so -latkmm-1.6 -latk-1.0 -lpangomm-1.4 
-lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 
-lgobject-2.0 -lglib-2.0 -lcairo -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu 
-Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu

No entanto.

hardening-check -v debian/lostirc/usr/bin/lostirc 
debian/lostirc/usr/bin/lostirc:
 Position Independent Executable: yes
 Stack protected: yes
 Fortify Source functions: no, only unprotected functions found!
unprotected: gethostname
unprotected: memmove
unprotected: recv
unprotected: read
unprotected: memcpy
 Read-only relocations: yes
 Immediate binding: yes

ou seja o mesmo resultado!

O bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673112 talvez possa 
ajudar também.

[]'s
kretcheu
:x


Em 24-07-2016 14:15, Herbert Fortes escreveu:
> 

 Se o binário final não tem as features de hardening, tem alguma coisa
 quebrada no build system que está impedindo as flags certas de chegarem
 na linha de comando do compilador. a não ser que a feature esteja lá e
 seja um bug do lintian por não conseguir detectar que o binário na
 verdade _tem_ todas as features de hardening, adicionar um override pra
 calar a boca do lintian não é certo (se de fato fosse um bug no lintian,
 você até poderia colocar um override, mas só depois de reportar um bug
 contra o lintian).
>>>
>>> O blhc não reclama, mas o hardening-check sim.
>>>
>>> Não sei se é válido, mas fiz o seguinte:
>>>
>>> $ grep g++ *.build | grep -v FORTIFY
>>>
>>>
>>> /bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE 
>>> -fstack-protector-strong -Wformat -Werror=format-security -Wall  -fPIE -pie 
>>> -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o lostirc  main.o
>>> MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o 
>>> Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o ../libirc/libirc.a 
>>> -lgtkmm-2.4 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4
>>> -lgtk-
>>> x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 
>>> -lfontconfig -lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 
>>> -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0
>>> -lgobject-2.0 -lglib-2.0 -lcairo 
>>> g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
>>> -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o lostirc 
>>> main.o MainWindow.o MainNotebook.o Tab.o
>>> Prefs.o
>>> ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o 
>>> DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 -lgiomm-2.4 
>>> -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0
>>> -lpangoft2-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so 
>>> -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 
>>> -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0
>>> -lcairo -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath 
>>> -Wl,/usr/lib/x86_64-linux-gnu
>>>
>>> -D_FORTIFY_SOURCE=2 não aparece em dois momentos.
>>
>> 

Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-24 Por tôpico Antonio Terceiro
On Sun, Jul 24, 2016 at 08:49:53AM -0300, Herbert Fortes wrote:
> 
> > > P: lostirc source: debian-watch-may-check-gpg-signature
> > > E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
> > > /usr/lib/x86_64-linux-gnu
> > > I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
> > > 
> > > Sobre o hardening-no-fortify-functions, o 'blhc --all'
> > > não retorna nada. E o config.log tem:
> > > 
> > > ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'
> > > 
> > > Acho que não tem problema. Um lintian-overrides pode
> > > ser usado.
> > 
> > Se o binário final não tem as features de hardening, tem alguma coisa
> > quebrada no build system que está impedindo as flags certas de chegarem
> > na linha de comando do compilador. a não ser que a feature esteja lá e
> > seja um bug do lintian por não conseguir detectar que o binário na
> > verdade _tem_ todas as features de hardening, adicionar um override pra
> > calar a boca do lintian não é certo (se de fato fosse um bug no lintian,
> > você até poderia colocar um override, mas só depois de reportar um bug
> > contra o lintian).
> 
> O blhc não reclama, mas o hardening-check sim.
> 
> Não sei se é válido, mas fiz o seguinte:
> 
> $ grep g++ *.build | grep -v FORTIFY
> 
> 
> /bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall  -fPIE -pie 
> -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o lostirc  main.o
> MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o 
> Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o ../libirc/libirc.a 
> -lgtkmm-2.4 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-
> x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig 
> -lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 
> -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0
> -lgobject-2.0 -lglib-2.0 -lcairo 
> g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
> -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o lostirc 
> main.o MainWindow.o MainNotebook.o Tab.o Prefs.o
> ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o 
> DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 -lgiomm-2.4 
> -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0
> -lpangoft2-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so 
> -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 
> -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0
> -lcairo -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath 
> -Wl,/usr/lib/x86_64-linux-gnu
> 
> -D_FORTIFY_SOURCE=2 não aparece em dois momentos.

parece ser um falso positivo do blhc (*build log* hardening check): as
flags aparecem no log em algum momento, mas não em todos os momentos, e
em especial não nos momentos certos :)

o hardening-check reclama porque ele checa os binários de fato, e não
acha as features de hardening. o build system tá quebrado.


signature.asc
Description: PGP signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-24 Por tôpico Herbert Fortes

> > P: lostirc source: debian-watch-may-check-gpg-signature
> > E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
> > /usr/lib/x86_64-linux-gnu
> > I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
> > 
> > Sobre o hardening-no-fortify-functions, o 'blhc --all'
> > não retorna nada. E o config.log tem:
> > 
> > ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'
> > 
> > Acho que não tem problema. Um lintian-overrides pode
> > ser usado.
> 
> Se o binário final não tem as features de hardening, tem alguma coisa
> quebrada no build system que está impedindo as flags certas de chegarem
> na linha de comando do compilador. a não ser que a feature esteja lá e
> seja um bug do lintian por não conseguir detectar que o binário na
> verdade _tem_ todas as features de hardening, adicionar um override pra
> calar a boca do lintian não é certo (se de fato fosse um bug no lintian,
> você até poderia colocar um override, mas só depois de reportar um bug
> contra o lintian).

O blhc não reclama, mas o hardening-check sim.

Não sei se é válido, mas fiz o seguinte:

$ grep g++ *.build | grep -v FORTIFY


/bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE -fstack-protector-strong 
-Wformat -Werror=format-security -Wall  -fPIE -pie -Wl,-z,relro -Wl,-z,now 
-Wl,--as-needed -o lostirc  main.o
MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o Entry.o 
StatusBar.o TextWidget.o NickList.o DCCList.o ../libirc/libirc.a -lgtkmm-2.4 
-lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-
x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig 
-lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 
-lsigc-2.0 -lpangocairo-1.0 -lpango-1.0
-lgobject-2.0 -lglib-2.0 -lcairo 
g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security 
-Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o lostirc 
main.o MainWindow.o MainNotebook.o Tab.o Prefs.o
ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o 
DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-x11-2.0 
-lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0
-lpangoft2-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so 
-latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 
-lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0
-lcairo -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath 
-Wl,/usr/lib/x86_64-linux-gnu

-D_FORTIFY_SOURCE=2 não aparece em dois momentos.



abraço,
-- Herbert Parentes Fortes Neto (hpfn)

signature.asc
Description: This is a digitally signed message part


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-23 Por tôpico Antonio Terceiro
On Fri, Jul 22, 2016 at 07:08:49PM -0300, Herbert Fortes wrote:
> Olá,
> 
> Em Sex, 2016-07-22 às 15:41 -0300, Samuel Henrique escreveu:
> > Olá pessoal,
> > 
> > Acredito que o problema de hardening [I: lostirc: 
> > hardening-no-fortify-functions usr/bin/lostirc], seja algo no Makefile, 
> > baixei o pacote aqui e não encontrei nada numa rápida verificação, talvez
> > analisando melhor o problema apareça.
> > 
> > O Eriberto escreveu um guia para lidar com alguns problemas de hardening 
> > desse tipo, acredito que você já conheça, mas irei colocá-lo aqui[1], para 
> > futura referência.
> > 
> > Imagino que alguma coisa no Makefile esteja alterando alguma flag 
> > repassada, você já verificou essa possibilidade?
> > 
> > [1]http://eriberto.pro.br/blog/?p=
> 
> Não estou conseguindo acessar o blog. Estou com umas
> dúvidas em outro pacote.
> 
> [...]
> 
> > > Vou subir para o mentors para que possa ver o que já foi feito.
> > > 
> > > Obrigado.
> > > 
> > > subindo 
> > > 
> > > https://mentors.debian.net/debian/pool/main/l/lostirc/lostirc_0.4.6-5.dsc
> > > 
> 
> Dei uma primeira olhada agora. Tem esses lintian:
> 
> P: lostirc source: debian-watch-may-check-gpg-signature
> E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
> /usr/lib/x86_64-linux-gnu
> I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
> 
> Sobre o hardening-no-fortify-functions, o 'blhc --all'
> não retorna nada. E o config.log tem:
> 
> ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'
> 
> Acho que não tem problema. Um lintian-overrides pode
> ser usado.

Se o binário final não tem as features de hardening, tem alguma coisa
quebrada no build system que está impedindo as flags certas de chegarem
na linha de comando do compilador. a não ser que a feature esteja lá e
seja um bug do lintian por não conseguir detectar que o binário na
verdade _tem_ todas as features de hardening, adicionar um override pra
calar a boca do lintian não é certo (se de fato fosse um bug no lintian,
você até poderia colocar um override, mas só depois de reportar um bug
contra o lintian).


signature.asc
Description: PGP signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-23 Por tôpico Paulo
Oi,

consegui resolver o lintian:
> E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
> /usr/lib/x86_64-linux-gnu

Segui as orientações de: https://wiki.debian.org/RpathIssue

coloquei no d/rules:

override_dh_auto_install:
dh_auto_install
chrpath -d debian/lostirc/usr/bin/lostirc

incluí chrpath ao Build-depends.

ainda pesquisando para retirar o último lintian.

[]'s
kretcheu
:x


Em 22-07-2016 19:08, Herbert Fortes escreveu:
> Olá,
> 
> Em Sex, 2016-07-22 às 15:41 -0300, Samuel Henrique escreveu:
>> Olá pessoal,
>>
>> Acredito que o problema de hardening [I: lostirc: 
>> hardening-no-fortify-functions usr/bin/lostirc], seja algo no Makefile, 
>> baixei o pacote aqui e não encontrei nada numa rápida verificação, talvez
>> analisando melhor o problema apareça.
>>
>> O Eriberto escreveu um guia para lidar com alguns problemas de hardening 
>> desse tipo, acredito que você já conheça, mas irei colocá-lo aqui[1], para 
>> futura referência.
>>
>> Imagino que alguma coisa no Makefile esteja alterando alguma flag repassada, 
>> você já verificou essa possibilidade?
>>
>> [1]http://eriberto.pro.br/blog/?p=
> 
> Não estou conseguindo acessar o blog. Estou com umas
> dúvidas em outro pacote.
> 
> [...]
> 
>>> Vou subir para o mentors para que possa ver o que já foi feito.
>>>
>>> Obrigado.
>>>
>>> subindo 
>>>
>>> https://mentors.debian.net/debian/pool/main/l/lostirc/lostirc_0.4.6-5.dsc
>>>
> 
> Dei uma primeira olhada agora. Tem esses lintian:
> 
> P: lostirc source: debian-watch-may-check-gpg-signature
> E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
> /usr/lib/x86_64-linux-gnu
> I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
> 
> Sobre o hardening-no-fortify-functions, o 'blhc --all'
> não retorna nada. E o config.log tem:
> 
> ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'
> 
> Acho que não tem problema. Um lintian-overrides pode
> ser usado. Alguém mais experiente pode dizer algo
> mais.
> 
> Estou com algumas dúvidas sobre hardening também. Em
> outro pacote. Amanhã falo sobre isso.
> 
> 
> 
> abraço,
> -- 
> Herbert Parentes Fortes Neto (hpfn)
> 



signature.asc
Description: OpenPGP digital signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-23 Por tôpico Herbert Fortes
Olá,

> P: lostirc source: debian-watch-may-check-gpg-signature
> E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
> /usr/lib/x86_64-linux-gnu
> I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
> 
> Sobre o hardening-no-fortify-functions, o 'blhc --all'
> não retorna nada. E o config.log tem:
> 
> ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'
> 
> Acho que não tem problema. Um lintian-overrides pode
> ser usado. Alguém mais experiente pode dizer algo
> mais.
> 

O blhc --all do xmlrpc-c retorna alguma coisa e o
hardening=+all dá erro. Então fiz uns patches.

O xmlrpc-c usa um arquivo common.mk e acabei fazendo
um patch para ele para implementar o hardening. Não
consegui de outra forma. Acabei fazendo outro patch
para um subdiretório. Ainda falta o 'hardening-no-pie',
que dá erro com relação a 'fPIC'.

Não acho que seja o caso do lostirc. Mais pela
curiosidade.



abraço,
-- Herbert Parentes Fortes Neto (hpfn)

signature.asc
Description: This is a digitally signed message part


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-22 Por tôpico Herbert Fortes
Olá,

Em Sex, 2016-07-22 às 15:41 -0300, Samuel Henrique escreveu:
> Olá pessoal,
> 
> Acredito que o problema de hardening [I: lostirc: 
> hardening-no-fortify-functions usr/bin/lostirc], seja algo no Makefile, 
> baixei o pacote aqui e não encontrei nada numa rápida verificação, talvez
> analisando melhor o problema apareça.
> 
> O Eriberto escreveu um guia para lidar com alguns problemas de hardening 
> desse tipo, acredito que você já conheça, mas irei colocá-lo aqui[1], para 
> futura referência.
> 
> Imagino que alguma coisa no Makefile esteja alterando alguma flag repassada, 
> você já verificou essa possibilidade?
> 
> [1]http://eriberto.pro.br/blog/?p=

Não estou conseguindo acessar o blog. Estou com umas
dúvidas em outro pacote.

[...]

> > Vou subir para o mentors para que possa ver o que já foi feito.
> > 
> > Obrigado.
> > 
> > subindo 
> > 
> > https://mentors.debian.net/debian/pool/main/l/lostirc/lostirc_0.4.6-5.dsc
> > 

Dei uma primeira olhada agora. Tem esses lintian:

P: lostirc source: debian-watch-may-check-gpg-signature
E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
/usr/lib/x86_64-linux-gnu
I: lostirc: hardening-no-fortify-functions usr/bin/lostirc

Sobre o hardening-no-fortify-functions, o 'blhc --all'
não retorna nada. E o config.log tem:

ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'

Acho que não tem problema. Um lintian-overrides pode
ser usado. Alguém mais experiente pode dizer algo
mais.

Estou com algumas dúvidas sobre hardening também. Em
outro pacote. Amanhã falo sobre isso.



abraço,
-- 
Herbert Parentes Fortes Neto (hpfn)

signature.asc
Description: This is a digitally signed message part


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-22 Por tôpico Samuel Henrique
Olá pessoal,

Acredito que o problema de hardening [I: lostirc:
hardening-no-fortify-functions usr/bin/lostirc], seja algo no Makefile,
baixei o pacote aqui e não encontrei nada numa rápida verificação, talvez
analisando melhor o problema apareça.

O Eriberto escreveu um guia para lidar com alguns problemas de hardening
desse tipo, acredito que você já conheça, mas irei colocá-lo aqui[1], para
futura referência.

Imagino que alguma coisa no Makefile esteja alterando alguma flag
repassada, você já verificou essa possibilidade?

[1]http://eriberto.pro.br/blog/?p=

Samuel Henrique O. P. [samueloph]

Em 22 de julho de 2016 15:16, Paulo  escreveu:

> Olá Herbert,
>
> consegui converter para quilt, ajustando os patches que estavam no arquivo
> diff.
>
> O pacote construiu com vários lintians. [1]
> Vários desses são tranquilos de resolver.
>
> o d/rules é antigo, eu alterei para o formato reduzido e fiz mais 3 patchs
> e incluí linhas no d/rules para resolver os lintians.
>
> sobraram 3 que ainda não consegui resolver:
>
> P: lostirc source: debian-watch-may-check-gpg-signature
> Esse só o upstream
>
> E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc
> /usr/lib/x86_64-linux-gnu
> I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
>
> estou pesquisando e fazendo testes.
> Uma coisa interessante, acredito, seja usar autoreconf, mas ainda não
> consegui.
>
> Vejo vários warnings durante o build, mas acredito que sejam do upstream.
>
> Vou subir para o mentors para que possa ver o que já foi feito.
>
> Obrigado.
>
> subindo 
>
> https://mentors.debian.net/debian/pool/main/l/lostirc/lostirc_0.4.6-5.dsc
>
> []'s
> kretcheu
> :x
>
> [1]
>
> W: lostirc source: dh-clean-k-is-deprecated
> W: lostirc source: debian-rules-missing-recommended-target build-indep
> W: lostirc source: debian-rules-missing-recommended-target build-arch
>
> P: lostirc source: debian-watch-may-check-gpg-signature
>
> I: lostirc: spelling-error-in-binary usr/bin/lostirc seperated separated
> I: lostirc: spelling-error-in-binary usr/bin/lostirc Transfering
> Transferring
> E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc
> /usr/lib/x86_64-linux-gnu
>
> I: lostirc: hardening-no-pie usr/bin/lostirc
> W: lostirc: hardening-no-relro usr/bin/lostirc
> I: lostirc: hardening-no-bindnow usr/bin/lostirc
> I: lostirc: hardening-no-fortify-functions usr/bin/lostirc
>
> I: lostirc: desktop-entry-lacks-keywords-entry
> usr/share/applications/lostirc.desktop
> W: lostirc: command-in-menu-file-and-desktop-file lostirc
> usr/share/menu/lostirc:4
>
>
>
>
>
> Em 21-07-2016 17:46, Herbert Fortes escreveu:
> > Olá Kretcheu,
> >
> >>
> >> estou adotando o pacote lostirc e estou com umas dúvidas e
> dificuldades, alguém pode dar uma força?
> >>
> >> O problema inicial é que o pacote não usa quilt e estou tentando
> converter.
> >> segui os procedimentos indicados em [1], mas o diff existente tem
> alterações tanto no upstream como no diretório debian.
> >> [ meio confuso isso ] segundo as orientações devo separar as alterações.
> >>
> >> Alguém tem uma dica de como fazer isso sem sofrimentos?
> >>
> >
> > Baixei o pacote para ver.
> >
> > Acho que a parte de debian/ não tem com que
> > se preocupar (em termos de patch). Mas o debian/rules
> > é antigo.
> >
> > A parte do upstream tem uns patches para fazer,
> > não deve ter como driblar isso.
> >
> > Pode esclarecer mais a dúvida ?
> >
> >
> >
> > abraço,
> > --
> > Herbert Parentes Fortes Neto (hpfn)
> >
>
>


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-22 Por tôpico Paulo
Olá Herbert,

consegui converter para quilt, ajustando os patches que estavam no arquivo diff.

O pacote construiu com vários lintians. [1]
Vários desses são tranquilos de resolver.

o d/rules é antigo, eu alterei para o formato reduzido e fiz mais 3 patchs e 
incluí linhas no d/rules para resolver os lintians.

sobraram 3 que ainda não consegui resolver:

P: lostirc source: debian-watch-may-check-gpg-signature 
Esse só o upstream

E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
/usr/lib/x86_64-linux-gnu
I: lostirc: hardening-no-fortify-functions usr/bin/lostirc

estou pesquisando e fazendo testes.
Uma coisa interessante, acredito, seja usar autoreconf, mas ainda não consegui.

Vejo vários warnings durante o build, mas acredito que sejam do upstream.

Vou subir para o mentors para que possa ver o que já foi feito.

Obrigado.

subindo 

https://mentors.debian.net/debian/pool/main/l/lostirc/lostirc_0.4.6-5.dsc

[]'s
kretcheu
:x

[1]

W: lostirc source: dh-clean-k-is-deprecated
W: lostirc source: debian-rules-missing-recommended-target build-indep
W: lostirc source: debian-rules-missing-recommended-target build-arch

P: lostirc source: debian-watch-may-check-gpg-signature

I: lostirc: spelling-error-in-binary usr/bin/lostirc seperated separated
I: lostirc: spelling-error-in-binary usr/bin/lostirc Transfering Transferring
E: lostirc: binary-or-shlib-defines-rpath usr/bin/lostirc 
/usr/lib/x86_64-linux-gnu

I: lostirc: hardening-no-pie usr/bin/lostirc
W: lostirc: hardening-no-relro usr/bin/lostirc
I: lostirc: hardening-no-bindnow usr/bin/lostirc
I: lostirc: hardening-no-fortify-functions usr/bin/lostirc

I: lostirc: desktop-entry-lacks-keywords-entry 
usr/share/applications/lostirc.desktop
W: lostirc: command-in-menu-file-and-desktop-file lostirc 
usr/share/menu/lostirc:4





Em 21-07-2016 17:46, Herbert Fortes escreveu:
> Olá Kretcheu,
> 
>>
>> estou adotando o pacote lostirc e estou com umas dúvidas e dificuldades, 
>> alguém pode dar uma força?
>>
>> O problema inicial é que o pacote não usa quilt e estou tentando converter.
>> segui os procedimentos indicados em [1], mas o diff existente tem alterações 
>> tanto no upstream como no diretório debian.
>> [ meio confuso isso ] segundo as orientações devo separar as alterações.
>>
>> Alguém tem uma dica de como fazer isso sem sofrimentos?
>>
> 
> Baixei o pacote para ver.
> 
> Acho que a parte de debian/ não tem com que
> se preocupar (em termos de patch). Mas o debian/rules
> é antigo.
> 
> A parte do upstream tem uns patches para fazer,
> não deve ter como driblar isso.
> 
> Pode esclarecer mais a dúvida ?
> 
> 
> 
> abraço,
> -- 
> Herbert Parentes Fortes Neto (hpfn)
> 



signature.asc
Description: OpenPGP digital signature


Re: ITA: lostirc -- simple gtk-based IRC client

2016-07-21 Por tôpico Herbert Fortes
Olá Kretcheu,

> 
> estou adotando o pacote lostirc e estou com umas dúvidas e dificuldades, 
> alguém pode dar uma força?
> 
> O problema inicial é que o pacote não usa quilt e estou tentando converter.
> segui os procedimentos indicados em [1], mas o diff existente tem alterações 
> tanto no upstream como no diretório debian.
> [ meio confuso isso ] segundo as orientações devo separar as alterações.
> 
> Alguém tem uma dica de como fazer isso sem sofrimentos?
> 

Baixei o pacote para ver.

Acho que a parte de debian/ não tem com que
se preocupar (em termos de patch). Mas o debian/rules
é antigo.

A parte do upstream tem uns patches para fazer,
não deve ter como driblar isso.

Pode esclarecer mais a dúvida ?



abraço,
-- 
Herbert Parentes Fortes Neto (hpfn)

signature.asc
Description: This is a digitally signed message part