Other languages speaking Miranda NG users > Deutsch

Jabber.dll modden?

(1/5) > >>

ecix:
Hallo zusammen,

da dies mein erster Beitrag hier ist, erstmal hallo an alle hier :).
Folgendes. In einer Firma lief mal intern ein OpenFire-Server mit ClientPlugin, sodass nur "Spark" erlaubt war, alle anderen Clients bekamen binnen Sekunden nach dem Login die typische Fehlermeldung das es nicht der korrekte Client sei (zB Miranda, Pidgin...).

Nun hatten wir aber damals einen Kollegen der es bei einer älteren Miranda Version (glaube das war noch nicht mal NG), geschafft hat die jabber.dll so anzupassen, das man dem OpenFire vorgekaukelt hat, man connecte mittels Spark.

Er meinte auch es gibt dafür eine Anleitung, nun nach knappen 3 Wochen experimentieren und googlen (die Anleitung habe ich bis heute nicht gefunden), fange ich so langsam an aufzugeben, aber genau das ist der Punkt wo die "jetzt erst recht"-Mentalität aufkommt, man kennt das ja :D.

Das letzte woran der Kollege sich erinnern konnte war, das er sich damals die Source geladen hat und die jabber Datein so angepasst hat das man es halt vorgaukelt und hat es anschließend compiliert und sich halt die jabber.dll geschnappt und es lief damit.

Ich habe es mittlerweile nachstellen können, da die alten Files noch vorhanden waren, es klappt bei älteren Openfire-Versionen, bei den neueren jedoch nicht, da kriegt man trotzdem ein deny. MirandaNG erkennt die alte jabber.dll gar nicht mehr, leider.

Kann mir einer von euch da auf die Sprünge helfen, was ich tun muss, ich habe wirklich viel geguckt, habe mich zich tage an "iq:version" usw. aufgehalten, aber nichts klappt -.- ...eigentlich wäre es ja nur ein "UserAgent-Switcher" für jabber :)

Ich würde mich echt freuen  wenn mich hier jemand supporten könnte, das wäre ein Traum...

MfG

ecix

Wishmaster:
Hi,
Bevor du da am Quellcode herumbastelst: Es gibt in Jabber eine Einstellung, unter Netzwerk -> Kontoname > Erweitert: Sicherheit: Servern das Abfragen der Version erlauben (XEP-0092), kannst du damit den Server austricksen?

Dass Openfire generell Miranda NG blockt kann nicht sein, muss an eurem Server liegen.

Falls nein:

* Quellcode herunterladen von https://github.com/miranda-ng/miranda-ng/ (ich empfehle den neusten tag, nicht den trunk, der ist noch zu instabil)
* Visual Studio 2010 oder höher installieren
* Projekt mir_dev.sln in dem binXX Verzeichnis öffnen
* Das was du suchst müsste direkt in jabber_iq_handlers.cpp liegen, siehe unten.
* Wichtig ist, dass du die Projektmappe anpasst und dort alle Plugins herauslöscht die ihr nicht benötigt, und dann alles (!!!) kompilierst. Du musst dann auch den PluginUpdater in Miranda NG deaktivieren, da du das Jabber-Plugin dann ja nicht mehr aktualisieren darfst, und der Kern von Miranda dann irgendwann nicht mehr mit deinem Jabber-Plugin kompatibel ist (daher empfehle ich den Tag, da musst du nicht alle paar Tage neu kompilieren).



--- Code: ---BOOL CJabberProto::OnIqRequestVersion(HXML, CJabberIqInfo *pInfo)
{
if (!pInfo->GetFrom())
return TRUE;

if (!m_options.AllowVersionRequests)
return FALSE;

XmlNodeIq iq(L"result", pInfo);
HXML query = iq << XQUERY(JABBER_FEAT_VERSION);
query << XCHILD(L"name", L"Miranda NG Jabber");
query << XCHILD(L"version", szCoreVersion);

if (m_options.ShowOSVersion) {
wchar_t os[256] = { 0 };
if (!GetOSDisplayString(os, _countof(os)))
mir_wstrncpy(os, L"Microsoft Windows", _countof(os));
query << XCHILD(L"os", os);
}

m_ThreadInfo->send(iq);
return TRUE;
}

--- End code ---

ecix:
Hallo Wishmaster,

oha, die Antwort kam ja prompt :) selten sowas :) aber ich freu mich.


--- Quote ---Dass Openfire generell Miranda NG blockt kann nicht sein, muss an eurem Server liegen.
--- End quote ---
Tut er auch nicht, jedoch ist ein Plugin installiert, was das connecten mit nicht erlaubten Clients untersagt, findet man auch im Webfrontend unter Plugins...

Habe gerade mit der aktuellsten MirandaNG Version gestetet, leider funktioniert es nicht mit der 1. Variante...


--- Code: ---manager.localhost  Today
8 22:12 You are using an invalid client, and therefore will be disconnected. Please ask your system administrator for client choices.
--- End code ---

zu deiner zweiten variante, ich bin leider programmier-technisch total eingeschalfen, visual studio besitze ich...was genau müsste ich in deinem code schnipsel ändern, sodass openfire denkt, hier kommt die jabber.dll von Spark :)

Grüße und vielen Dank im Voraus

grüße

ecix

Wishmaster:
Das heißt, die Schritte 1 bis 3 sind klar, und du weißt wie du Miranda NG kompilierst?

Ich weiß ja nicht, wie genau Openfire Miranda NG erkennt, und das wird dir auch keiner sagen können oder wollen.

Probiers mal mit dieser Zeile:

--- Code: --- query << XCHILD(L"name", L"Miranda NG Jabber");
--- End code ---
Hier beliebigen anderen String reinsetzen.

Wenn du Pech hast dann checken die noch irgendwelche anderen Caps in Miranda NG, dann bleibt dir wohl nichts anderes übrig als selbst rumzuprobieren.

ecix:
Hi Wishmaster,

hast du vllt. ICQ oder ähnliches, ist irgendwie bequemer :)...

also leider sind schritte 1-3 nicht so klar und ich kann die datei "mir_dev.sln" auch nicht öffnen, es kommt ein fehler von visual studio 2015


--- Code: ------------------------------
Microsoft Visual Studio
---------------------------
Can't find localized resources
--- End code ---

Und ich denke das es reichen würde wenn ich die Strings "name" und "version" abändere, denke ich ;) dazu muss ich es erstmal tun und compilen :)

grüße

ecix

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version