Portál AbcLinuxu, 4. května 2025 09:21
Ja budem vdacny za akykolvek funkcny webkit-based GTK browser.
Například aby dokázal zobrazit dialog pro heslo, když stránka vyžaduje basic HTTP autentizaci.
Na epiphany nebo midori je nefunkčního konkrétně co?
midori neumí cookies.
Ale prdlajs:
HTTP/1.1
Host: www.atlas.cz
Accept: */*
Accept-Encoding: deflate, gzip
Cookie: HPA=bs%7cNr%7coxT%7ciXEa%0a1%3aIuO%0a5UTAW9T%3aKXTYcXmzk%7cc*YU%3a*s%0aTKIOZWAOZsu%3a%7czjatqLDmo%7cb%0aNwe%7cotfgt%7cXYBHCRA
User-Agent: Mozilla/5.0 (X11; U; Linux i686; cs-cz) AppleWebKit/525.1+ (KHTML, like Gecko, Safari/525.1+) midori
Referer: http://www.atlas.cz/
Pokud myslíte to jak padá při kliknutí na tlačítko přihlásit tady na ABC a nebo kdekoliv jinde, je to způsobeno protokolem HTTPS. A ať za to může cokoliv, tak midori určitě ne:
[New Thread 0xb5811940 (LWP 15772)]
** (midori:15772): WARNING **: Unhandled settings property 'zoom-step'
** Message: NP_Initialize
** Message: NP_Initialize succeeded
** Message: NP_Initialize
** Message: NP_Initialize succeeded
** Message: NP_Initialize
** Message: NP_Initialize succeeded
** Message: NP_Initialize
** Message: NP_Initialize succeeded
[New Thread 0xb0bd5b90 (LWP 15821)]
[New Thread 0xb03d4b90 (LWP 15822)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5811940 (LWP 15772)]
0xb29607b1 in ?? () from /usr/lib/firefox/plugins/flashplugin-alternative.so
(gdb) bt
#0 0xb29607b1 in ?? () from /usr/lib/firefox/plugins/flashplugin-alternative.so
#1 0xb29564d1 in ?? () from /usr/lib/firefox/plugins/flashplugin-alternative.so
#2 0xb295acf4 in ?? () from /usr/lib/firefox/plugins/flashplugin-alternative.so
#3 0xb7ab8dbc in WebCore::PluginView::stop (this=0xb0e6ee00) at ../WebCore/plugins/gtk/PluginViewGtk.cpp:289
#4 0xb7ab8e1d in ~PluginView (this=0xb0e6ee00) at ../WebCore/plugins/gtk/PluginViewGtk.cpp:481
#5 0xb7b23597 in ~RenderPart (this=0xb11e03cc) at ../WebCore/page/FrameView.h:66
#6 0xb7b2392d in ~RenderPartObject (this=0xb11e03cc) at ../WebCore/rendering/RenderPartObject.cpp:57
#7 0xb7b1e1a6 in WebCore::RenderObject::arenaDelete (this=0xb11e03cc, arena=0xb573d540, base=0xb11e03cc) at ../WebCore/rendering/RenderObject.cpp:2565
#8 0xb7b497cb in WebCore::RenderWidget::deref (this=0x0, arena=0xb573d540) at ../WebCore/rendering/RenderWidget.cpp:216
#9 0xb7b4a546 in WebCore::RenderWidget::destroy (this=0xb11e03cc) at ../WebCore/rendering/RenderWidget.cpp:102
#10 0xb78db289 in WebCore::Node::detach (this=0xb1115f78) at ../WebCore/dom/Node.cpp:876
#11 0xb78ac16e in WebCore::ContainerNode::detach (this=0xb1115f78) at ../WebCore/dom/ContainerNode.cpp:663
#12 0xb78ce530 in WebCore::Element::detach (this=0xb1115f78) at ../WebCore/dom/Element.cpp:706
#13 0xb79a2209 in WebCore::HTMLObjectElement::detach (this=0xb1115f78) at ../WebCore/html/HTMLObjectElement.cpp:214
#14 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb104b000) at ../WebCore/dom/ContainerNode.cpp:661
#15 0xb78ce530 in WebCore::Element::detach (this=0xb104b000) at ../WebCore/dom/Element.cpp:706
#16 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb104b048) at ../WebCore/dom/ContainerNode.cpp:661
#17 0xb78ce530 in WebCore::Element::detach (this=0xb104b048) at ../WebCore/dom/Element.cpp:706
#18 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb104b0d8) at ../WebCore/dom/ContainerNode.cpp:661
#19 0xb78ce530 in WebCore::Element::detach (this=0xb104b0d8) at ../WebCore/dom/Element.cpp:706
#20 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb11da090) at ../WebCore/dom/ContainerNode.cpp:661
#21 0xb78ce530 in WebCore::Element::detach (this=0xb11da090) at ../WebCore/dom/Element.cpp:706
---Type <return> to continue, or q <return> to quit---
#22 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb3599e58) at ../WebCore/dom/ContainerNode.cpp:661
#23 0xb78ce530 in WebCore::Element::detach (this=0xb3599e58) at ../WebCore/dom/Element.cpp:706
#24 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb3599ea0) at ../WebCore/dom/ContainerNode.cpp:661
#25 0xb78ce530 in WebCore::Element::detach (this=0xb3599ea0) at ../WebCore/dom/Element.cpp:706
#26 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb10e7708) at ../WebCore/dom/ContainerNode.cpp:661
#27 0xb78ce530 in WebCore::Element::detach (this=0xb10e7708) at ../WebCore/dom/Element.cpp:706
#28 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb1104c30) at ../WebCore/dom/ContainerNode.cpp:661
#29 0xb78ce530 in WebCore::Element::detach (this=0xb1104c30) at ../WebCore/dom/Element.cpp:706
#30 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb10f9d80) at ../WebCore/dom/ContainerNode.cpp:661
#31 0xb78ce530 in WebCore::Element::detach (this=0xb10f9d80) at ../WebCore/dom/Element.cpp:706
#32 0xb78ac15b in WebCore::ContainerNode::detach (this=0xb5770800) at ../WebCore/dom/ContainerNode.cpp:661
#33 0xb78bd55e in WebCore::Document::detach (this=0xb5770800) at ../WebCore/dom/Document.cpp:1283
#34 0xb7a483ce in WebCore::Frame::setView (this=0xb5712df8, view=0x0) at ../WebCore/page/Frame.cpp:224
#35 0xb7814702 in WebKit::FrameLoaderClient::transitionToCommittedForNewPage (this=0xb571dc80) at ../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:777
#36 0xb79f6a76 in WebCore::FrameLoader::transitionToCommitted (this=0xb571f624, cachedPage={m_ptr = 0xbfdd3138}) at ../WebCore/loader/FrameLoader.cpp:2759
#37 0xb79f786a in WebCore::FrameLoader::commitProvisionalLoad (this=0xb571f624, prpCachedPage={m_ptr = 0xbfdd316c}) at ../WebCore/loader/FrameLoader.cpp:2654
#38 0xb79df4fd in WebCore::DocumentLoader::commitIfReady (this=0xb11b7a00) at ../WebCore/loader/DocumentLoader.cpp:333
#39 0xb79df836 in WebCore::DocumentLoader::commitLoad (this=0xb11b7a00,
data=0x9f04899 "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\r\n\r\n<h"..., length=12715) at ../WebCore/loader/DocumentLoader.cpp:353
#40 0xb79e7c45 in WebCore::FrameLoader::receivedData (this=0xb571f624,
data=0x9f04899 "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.---Type <return> to continue, or q <return> to quit---
w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\r\n\r\n<h"..., length=12715) at ../WebCore/loader/FrameLoader.cpp:2316
#41 0xb7a08496 in WebCore::MainResourceLoader::addData (this=0xb12c5300,
data=0x9f04899 "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\r\n\r\n<h"..., length=12715, allAtOnce=<value optimized out>) at ../WebCore/loader/MainResourceLoader.cpp:145
#42 0xb7a0f939 in WebCore::ResourceLoader::didReceiveData (this=0xb12c5300,
data=0x9f04899 "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\r\n\r\n<h"..., length=12715, lengthReceived=<value optimized out>, allAtOnce=<value optimized out>)
at ../WebCore/loader/ResourceLoader.cpp:247
#43 0xb7a08891 in WebCore::MainResourceLoader::didReceiveData (this=0xb12c5300,
data=0x9f04899 "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\r\n\r\n<h"..., length=12715, lengthReceived=-5699605323313053696, allAtOnce=<value optimized out>)
at ../WebCore/loader/MainResourceLoader.cpp:305
#44 0xb7a0f3f8 in WebCore::ResourceLoader::didReceiveData (this=0xb12c5300,
data=0x9f04899 "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\r\n\r\n<h"..., length=12715, lengthReceived=0) at ../WebCore/loader/ResourceLoader.cpp:384
#45 0xb7b62173 in writeCallback (ptr=0x9f04899, size=1, nmemb=12715, data=0xb1523878) at ../WebCore/platform/network/curl/ResourceHandleManager.cpp:125
#46 0xb6ac0295 in ?? () from /usr/lib/libcurl-gnutls.so.4
#47 0xb6ad3348 in ?? () from /usr/lib/libcurl-gnutls.so.4
#48 0xb6ad92b4 in ?? () from /usr/lib/libcurl-gnutls.so.4
#49 0xb6ad9bf9 in curl_multi_perform () from /usr/lib/libcurl-gnutls.so.4
#50 0xb7b6490a in WebCore::ResourceHandleManager::downloadTimerCallback (this=0xb574fc60, timer=0xb574fc60) at ../WebCore/platform/network/curl/ResourceHandleManager.cpp:266
#51 0xb7b64de1 in WebCore::Timer<WebCore::ResourceHandleManager>::fired (this=0xb574fc60) at ../WebCore/platform/Timer.h:99
---Type <return> to continue, or q <return> to quit---
#52 0xb7aa4502 in WebCore::TimerBase::fireTimers (fireTime=1234316138.7685061, firingTimers=@0xbfdd3744) at ../WebCore/platform/Timer.cpp:347
#53 0xb7aa45d7 in WebCore::TimerBase::sharedTimerFired () at ../WebCore/platform/Timer.cpp:368
#54 0xb7d0811e in timeout_cb () at ../WebCore/platform/gtk/SharedTimerGtk.cpp:48
#55 0xb6e16e26 in ?? () from /usr/lib/libglib-2.0.so.0
#56 0xb6e166f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#57 0xb6e19da3 in ?? () from /usr/lib/libglib-2.0.so.0
#58 0xb6e1a2c2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#59 0xb747b309 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
… $ ls -l /usr/lib/firefox/plugins/flashplugin-alternative.so
lrwxrwxrwx 1 root root 37 2008-10-30 13:04 /usr/lib/firefox/plugins/flashplugin-alternative.so -> /etc/alternatives/firefox-flashplugin ls -l /etc/alternatives/firefox-flashplugin
lrwxrwxrwx 1 root root 46 2008-10-31 21:10 /etc/alternatives/firefox-flashplugin -> /usr/lib/flashplugin-nonfree/libflashplayer.so
Kde mám teď sakra splašit debugovací symboly k libfhlashplayer.so? No a vůbec, když už jsme zaklesli do tématu WebKit, tak o toto se prostě musím podělit: Hned poté co jsem midori nainstaloval a co mi sletělo jsem se jal nainstalovat debugovací symboly ať mám alespoň pěknější backtrace. No úplně mi vyrazil dech balíček se symboly, který měl 62,5MB. Ale to jsem ještě netušil, že zlatý hřeb veřera mě teprve čeká. Poté co se kolega zmínil o tom, že midori neumí dialog pro autentizaci jsem si to chtěl ověřit na nejnovější verzi a tak jsem si naklonoval midori a stáhnul dnešní nightly build WebKitu(cca. 9MB). Snad po nějaké hodině kompilovaní a pěti minutách linkovaní a rytí pevného disku z toho vypadla konečně binárka:
$ ls -lh libwebkit-1.0.so.1.0.0
-rwxr-xr-x 1 root root 253M(!!!) 2009-02-11 02:03 libwebkit-1.0.so.1.0.0
$ sudo strip libwebkit-1.0.so.1.0.0
$ ls -lh libwebkit-1.0.so.1.0.0
-rwxr-xr-x 1 root root 11M 2009-02-11 02:57 libwebkit-1.0.so.1.0.0
Ať už z Tomeše vypadly jakékoliv názory a ať už byly více či méně pravdivé, tak v jednom měl zatraceně pravdu. Třeba je to jen nějaký nešťastný bug, ale moc to tak zatím nevypadá. Zítra na to mrknu.
Takže reálný používání někde, kde chci bejt přihlášenej trochu dýl je docela omezený.
A znova stejná odpověď:Epiphany.
Pokud myslíte to jak padá při kliknutí na tlačítko přihlásit tady na ABC a nebo kdekoliv jinde, je to způsobeno protokolem HTTPS.
Tak zas omyl. Ne že by snad https fungovalo, ale za ty pády nemůže. Za ty pády může jediná věc: Flash!
http://www.abclinuxu.cz/zpravicky/co-se-planuje-do-mozilla-firefoxu-3.2#7
A je to pro mě důležitý, a psát heslo do URL a pak ho mít v historii není možné.
$ telnet 192.168.2.150 80
Trying 192.168.2.150...
Connected to 192.168.2.150.
Escape character is '^]'.
GET / HTTP/1.1
Host:192.168.2.150
HTTP/1.1 401 Unauthorized
Server: GoAhead-Webs
Date: Sun Jan 2 08:43:00 2000
WWW-Authenticate: Basic realm="Wireless Access Point"
A to je prosím jaká verze a čeho? Protože to co mám ve Fedoře (midori) to neumí, ukáže jen prvotní 401 stránku. A Epiphany to taky neumělo, v nějaké verzi co jsem kdysi zkoušel (kvůli tomu jsem to prve vyhodil), a teď jsem to ani znova nezkoušel, protože ostré to s WebKitem bude nejdřív v Gnome .28. Asi.
A to je prosím jaká verze a čeho?
Prohlížeč WWW Epiphany 2.24.1, Založeno na jádře gecko-1.9. Prostě to co je v Ubuntu.
Protože to co mám ve Fedoře (midori)to neumí, ukáže jen prvotní 401 stránku.
Uznávám. Zrovna jsem nainstalovat Midori a je tomu opravdu tak. Zmínil jsem se o něm jen protože jsem věděl, že defaultně používá WebKit. To ovšem nic nemění na tom, že je tady ještě Epiphany.
A Epiphany to taky neumělo, v nějaké verzi co jsem kdysi zkoušel (kvůli tomu jsem to prve vyhodil), a teď jsem to ani znova nezkoušel,
Tak to Epiphany umělo co ho používám (a nějaký pátek to bude). Bude-li nutno dokázat, nebojím se uchýlit ke kompilaci starších verzí.
protože ostré to s WebKitem bude nejdřív v Gnome .28.
Ostré to bude až bude ostrý WebKit, protože je potřeba mít na paměti, že bugy se netýkají nějakých obálek ve formě minimalistických prohlížečů ale přímo jader.
Nojó. Ale přesně tohle jsem právě nemyslel, Epiphany s Gecko už používám. S WebKitem ale ten dialog zobrazit asi fakt ještě nedokáže, i přes to, že to všichní ví už jak dlouho… A o tom (GTK WebKit prohlížečích) jsme se prvně bavili, žejo. Celou dobu myslím jenom webkitové prohlížeče.
Zrovna tenhle bug mě právě docela baví, protože mi přijde, že je to něco co by měla být otázka prohlížeče, ale ve skutečné implementaci je to otázka gtk obalu webkitu, a ten žádný dialog vyplivnout neumí, a prohlížeč se to udělat neobtěžuje. Je to docela hloupé.
Vy v GTK programujete?
Není tím myšlena integrace rozšíření Ubiquity?
Správněji myšlenek a postupů z Ubiquity Více informací lze najít třeba u Pavla Cvrčka.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.