Bug 374141

Summary: log file path loading wrong/overridden by config/incompatible with defaults
Product: [Applications] kinfocenter Reporter: Gregor Mi <codestruct>
Component: SambaAssignee: David Hubner <hubn3rd>
Status: RESOLVED FIXED    
Severity: normal CC: sitter
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.18.1
Sentry Crash Report:

Description Gregor Mi 2016-12-25 12:52:02 UTC
Current situation
-----------------
Samba status monitor -> Log Tab -> Samba Log file points to: /var/log/samba.log

openSUSE 42.1
-------------
I use openSUSE 42.1 where the log file is located here: /var/log/samba/log.smbd
Comment 1 Harald Sitter 2020-01-28 17:50:26 UTC
The default ought to be fixed, but the module is storing config values in a rather silly manner so  that if you had opened the module before the path was fixed it'd have written the wrong path to its config upon exit and as a consequence the path would be wrong forever more because the config value takes preference. The entire module is kinda broken though, like even if the path was correct it'd not show anything because your smb.conf also needs to be configured to log in a suitable way (which AFAIK samba doesn't do by default).
Comment 2 Harald Sitter 2020-02-08 17:26:19 UTC
Git commit f1768f7b3ab972e5717d0291a0407422f253adfd by Harald Sitter.
Committed on 08/02/2020 at 17:14.
Pushed by sitter into branch 'Plasma/5.18'.

replace samba module with data that works

Summary:
... and doesn't require lots of maintenance!
this targets 5.18 but is kind of unfortunate because it needs a bunch of
new strings as no existing strings provide what is needed here.

the previous module was super broken in various ways.
in the interest of maintainability I've thrown everything out and replaced
it with 2 core features which require only modeling code on the KInfoCenter
end and provide actually (possibly) useful functionality to the design
personas of plasma.

there is now a single page which contains two table views:

a) Exports: this is a simple table of shares "exported" from the host. the
   data for this comes from KSambaShare in KIOCore. this is the same API
   used by dolphin to create new shares, so the data will be consistent
   and the API needs maintaining anyway
b) Imports: simple table of shares "imported" (i.e. mounted) onto the host.
   the data for this comes from solid

both are backed by models, with an eye towards a future port to qml (out of
scope since I want this fixed for 5.18)

all previous functionality was removed, in part because it was doing CLI
parsing, some of the parsing was broken, some of the CLI tools couldn't
even run as !root, log parsing could use incorrect paths on existing users,
log parsing has nothing to parse with samba defaults, log parsing didn't
implement per-host log file support (current default in samba), log parsing
didn't correctly implement per-user-config-log-file support.
in short: there was not a single feature that worked properly.
Related: bug 411433, bug 325951
FIXED-IN: 5.18.1

{F8053130}

Test Plan:
# exports

- nothing when nothing is exported
- changing exports via dolphin is immediately reflected in the kcm
- export data is valid

# imports

- nothing when nothing is mounted
- (un)mounting a cifs updates the view immediately
- data is valid

Reviewers: #localization, #plasma, #vdg, davidedmundson

Reviewed By: #plasma, #vdg, davidedmundson

Subscribers: jriddell, davidedmundson, ltoscano, yurchor, ngraham, alexde, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D27061

M  +17   -17   Modules/samba/CMakeLists.txt
A  +18   -0    Modules/samba/autotests/CMakeLists.txt
A  +23   -0    Modules/samba/autotests/ksambasharemodeltest.cpp     [License: UNKNOWN]  *
A  +23   -0    Modules/samba/autotests/smbmountmodeltest.cpp     [License: UNKNOWN]  *
D  +0    -87   Modules/samba/kcmsambaimports.cpp
D  +0    -50   Modules/samba/kcmsambaimports.h
D  +0    -232  Modules/samba/kcmsambalog.cpp
D  +0    -82   Modules/samba/kcmsambalog.h
D  +0    -302  Modules/samba/kcmsambastatistics.cpp
D  +0    -113  Modules/samba/kcmsambastatistics.h
A  +92   -0    Modules/samba/ksambasharemodel.cpp     [License: UNKNOWN]  *
A  +43   -0    Modules/samba/ksambasharemodel.h     [License: UNKNOWN]  *
D  +0    -210  Modules/samba/ksmbstatus.cpp
D  +0    -61   Modules/samba/ksmbstatus.h
M  +54   -77   Modules/samba/main.cpp
A  +147  -0    Modules/samba/smbmountmodel.cpp     [License: UNKNOWN]  *
A  +54   -0    Modules/samba/smbmountmodel.h     [License: UNKNOWN]  *

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://commits.kde.org/kinfocenter/f1768f7b3ab972e5717d0291a0407422f253adfd