Usermaske im Adminbereich vor logins aus sessions geschützt.
Notwendigerweise zusätzlich User->new und Auth->read_user auf %paramsumgeschrieben.
$::cgi entfernt.
Verfahren:- Für alle Vorkommen von "my $cgi = $::cgi;": ersetzt durch my $cgi = $::request->{cgi}->new({}) ersetzt
- Wenn in einer Datei alle my $cgi rausgefallen sind auch use CGI entfernt.
- Initialisierung von $::cgi in scripts und Dispatcher entfernt und in dei...
$::request als globale Variable eingeführt.
::called_subs ersatzlos gestrichen.
call_sub Rekursionen sind nicht mehr aufgetreten seit das System eingebautwurde, kein Grund auf Verdacht darauf zu prüfen.
In Konfiguration angegebene Anwendungen in PATH suchen
Fix für Bug 1690.
Kosmetik
Eine Klasse & globale Variable zur Verwaltung von mandantenbasierter Konfiguration
Optionaler, automatischer FCGI-Restart nach Request bei Programmänderungen
Muss in Konfiguration in [debug] mit restart_fcgi_process_on_changesangeschaltet werden. Überwacht alle Dateien in SL, bin, config,templates/webpages sowie einige im Basisverzeichnis auf Änderungen des...
Nicht immer alle Session-Werte automatisch laden und parsen
Durch das Speichern ganzer Forms in der Session wurde das Laden sehrlangsam, weil bei jedem Request alle Session-Werte geladen und mitYAML geparst wurden. Rief man z.B. ein Erzeugnis mit 50 Einzelteilen...
Eval-Error im Dispatcher auch auf STDERR ausgeben
Wurde bereits ein Template ausgegeben, bevor der Fehler auftrat, sokonnte es sein, dass die Fehlermeldung komplett verschluckt bzw. vomBrowser nicht angezeigt wird.
Keine großen GET-Requests via HTTP-Redirect erfordern
Bugfix für 1609.
Das Benutzer-Passwort nicht im Klartext in Session-Tabelle ablegen
Pre-Checks können mit Exception enden (end-of-request), daher in eval {} packen
Ansonsten wurde nach jeder Anfrage der Prozess beendet, sofern einPre-Check fehl schlug. Das passiert z.B., wenn die Auth-DB nichtexistiert.
Bug 1653: $::form erst zerstören nachdem die sessions up-to-date sind.
kopf.pl auf Controller umgestellt
Sessions erst nach dem Request expiren.
HTML.uri() muss Strings zuerst von Perls internem Encoding nach UTF-8 wandeln
Fix für Bug 1641.
Request abbrechen, wenn alte Konfigurationsdateien vorhanden sind
$::auth nicht löschen sondern nur resetten. (Experimentell)
$::auth erst nach dem session expire zerstören.
$::auth erst nach $::form und $::locale anlegen, weil $::auth beide benötigt (SL/Auth/LDAP.pm)
Conflicts:
SL/Dispatcher.pm
Zirkuläre Referenzen in $::auth auflösen, damit DB-Verbindung am Ende des Requests geschlossen wird
SL/Auth/DB.pm
Vor jedem Request neue Instanz von $::auth anlegen
$::auth cachet Informationen wie Gruppenzugehörigkeit und -rechte. Dasführt dazu, dass Änderungen im Adminbereich für laufende FCGI-Prozessenicht sichtbar waren, wenn die entsprechende Gruppe schon einmal...
Methoden zum Speichern von eindeutigen Keys in der Session
Außerdem: Form dumpen und wiederherstellen; Werte nur für einenbestimmten Zeitraum speichern.
Session immer am Ende des Requests speichern
Momentan wird eh am Anfang der Session einmal gespeichert, wennBenutzername und Passwort überprüft wurden. Somit erspart man sichspäteres Speichern.
Legacy-Interface: Auth::authenticate unterstützt "is_crypted" nicht mehr
Sowohl Standard-DB-Handle als auch Auth-DB-Handle am Ende des Requests schließen
Verwendete Schnittstelle (CGI/FastCGI) in Versionsinfoscreen anzeigen
Merge branch 'master' into after-262
Conflicts: DEBIAN/DEBIAN/postinst DEBIAN/mk_erp_deb.sh config/lx-erp.conf config/lx-erp.conf.default doc/INSTALL.txt locale/de_DE/all
config/lx_office.conf.default einlesen, wenn config/lx_office.conf nicht existiert
Alte Konfigurationsdateien config/lx-erp.conf{.default} entfernt
Globale Variable $::menufile entfernt
Globale Variablen für Systemeinstellungen und Features nach %::lx_office_conf verschoben
Betroffen sind: $webdav $vertreter $lizenzen $show_best_before $parts_show_image $parts_image_css $parts_listing_images $eur $dbcharset $language
Globale Variablen nach %::lx_office_conf verschoben
Betroffen sind: $sendmail $openofficeorg_writer_bin $xvfb_bin $html2ps_bin $ghostscript_bin $latex_bin $pg_dump_exe $pg_restore_exe
Initialisierung von %ENV von lx-erp.conf nach lx_office.conf verschoben
Globale Variablen $::userspath, $::templates, $::membersfile nach %::lx_office_conf verschoben
Globales Konfigurationsobjekt %::lx_office_conf möglichst früh anlegen
Zusammenfassen mehrerer Konfigurationsdateien in einer gemeinsamen
Datenbankverbindung bei FCGI-Variante am Schluss nicht schließen
Merge branch 'master' of git@lx-office.linet-services.de:lx-office-erp
Conflicts: SL/Dispatcher.pm
Dispatcher bruacht kein SL/ include, wenn Form in der korrekten Form "SL::Form" eingebunden wird.
Hilfsfunktionen in DateTime
SL/Locale.pm
CSV-Export für ISO- und UTF-8, mit und ohne FastCGI gefixt
Fix für Bug 1535.
Umstellung des Dispatcher-Moduls auf Objekt-Aufrufsyntax
Trennzeichen für Controller-Routing von :: auf / geändert
templates/webpages/messages/form.html templates/webpages/messages/list.html
Neuer Routingmechanismus für Controller, die als Package implementiert sind
Voraussetzungen:
flash_later(): In Session gespeicherter Flash für nächsten Request implementiert
Session immer herstellen und refreshen, auch wenn System gesperrt ist
Fix für Bug 1467.
Session trotzdem refreshen, auch wenn "action" nicht definiert ist
Bugfix CGI Routing - $0 wird bei MatchAlias auf dispatcher.pl nicht richtig gesetzt.
Die ursprüngliche Version zieht sich den aufgrufenen Scriptnamen aus $0. Dasfunktioniert aber nur in der Symlinkversion. Wenn ein Matchalias auf das Scriptgesetzt wird, muss der Scriptname aus %ENV geholt werden. Da das bei FCGI...
Neue Option in LXDebug: LXDebug->WARN.
Sämtliche Perl warnings die auftreten, werden jetzt über einenSighandler an LXDebug weitergeleitet, und werden, sofern gewünscht,in das LxOffice Log geschrieben.
Das ganze soll später dazu dienen, inkrementell die Module von warnings zu...
Disptcher->require_maincode tracing gegeben.
Rose und Moose in dieser Version noch nicht einbinden.
Datei users/nologin auch auswerten, wenn login.pl aufgerufen wird
Exception im boopstrapping: Wenn keine auth db vorhanden ist, sofort auf adminmaske.
warnings gefixt, und globals besser dokumentiert.
Scriptname steht nicht mehr in $form
Bestimmte globale Variablen pro Request initialisieren.
Globale Variable bei jedem Request initialisieren.
Überflüssige globale Variablen entfernt.
Bzw. die "my $menufile" aus den verschiedenen Menüscripten in eineeinzige globale Variable verschoben.
bin/mozilla/menu.pl
Modul- und Funktionsnamen müssen mit einem Buchstaben beginnen
Routingmechanismus mit Scriptname dispatcher.pl und Parametern 'M' und 'A' oder 'A_...' implementiert
Nur ein globales Locale-Objekt anlegen
Außerdem alle lokalen Locale-Objekte entfernt. Ist so noch nicht funktionabel.
SL/Template/Plugin/T8.pm scripts/console scripts/rose_auto_create_model.pl scripts/sync_with_sugarcrm.pl
Das globale Locale-Objekt im Fehlerfall neu initialisieren; das lokale wurde nicht weiter verwendet
Nach jedem Request die Standard-Datenbankverbindung schließen
Wo use Form steht muss auch der @INC overload drin sein.
Aufrufe von 'exit' durch eigene Funktion '::end_of_request()' ersetzt.
Außerdem dafür gesorgt, dass Meldungen, die per$form->show_generic_(error|information) ausgegeben werden, nichtdoppelt angezeigt werden.
bin/mozilla/io.pl bin/mozilla/oe.pl
Gemeinsamen Code von admin.pl und dispatcher.fpl nach SL/Dispatcher.pm verschoben.