webmin / usermin Goto Github PK
View Code? Open in Web Editor NEWUsermin source code
Home Page: http://www.usermin.com/
License: Other
Usermin source code
Home Page: http://www.usermin.com/
License: Other
Usermin Version 2.010 --------------------- To setup usermin, simply run the setup.sh shell script, which should be found in the same directory as this README file. This will setup Usermin to run from that directory. Usermin can be installed in two different ways : 1) By just running the setup.sh script in the same directory as this README file, with no arguments. You will be asked a series of questions such as the configuration directory, your operating system and whether to use SSL. For questions where a default is shown in square brackets, you can just hit enter to accept the default (which is usually correct). If the configuration directory you enter is the same as that used by a previous install of Usermin, it will be automatically upgraded with all configurable settings preserved. This will set up Usermin to run directly from this directory. After running setup.sh, do not delete the directory as it contains all the scripts and programs that will be used by Usermin when it is running. Unlike the second installation method, the Usermin scripts do not get copied to another location when installing. 2) By running the setup.sh script in this directory, but with a command-line argument such as /usr/local/usermin . When a directory like this is provided, Usermin's scripts will be copied to the chosen directory and it will be configured to run from that location. The exact same questions will be asked by setup.sh when it is run with a directory argument, and upgrading will work in the same way. If you are upgrading an old install, you should enter the same directory argument so that the new files overwrite the old in order to save disk space. After Usermin has been installed to a specific directory using this method, the directory extracted from the tar.gz file can be safely deleted. For more information, see http://www.usermin.com/ Jamie Cameron [email protected]
hi jamie, would it be possible to move desc out if module.info like in webmin?
so I can provide missing longdesc_de also for usermin without breaking module.info ....
A clean install of Usermin does not create a uconfig file under the spam folder. This causes the following messages in the error log -
Use of uninitialized value $file in substitution (s///) at /usr/libexec/usermin/mailbox/mailbox-lib.pl line 669.
Use of uninitialized value $file in substitution (s///) at /usr/libexec/usermin/mailbox/mailbox-lib.pl line 670.
Use of uninitialized value $file in substitution (s///) at /usr/libexec/usermin/mailbox/mailbox-lib.pl line 672.
The problem can be solved by editing and saving a default user config for the spam module which creates an empty 'spam_file' entry, but maybe the code just check to see if the config entry is missing first.
I have webmin and usermin running behind an apache proxy. Both work normally if I just access them directly (e.g. webmin.domain.tdl; usermin.domain.tld). This means that the apache server is properly configured.
However when I go to "virtual server > edit users > (user) > login to usermin" the redirect is still nor working properly. It will open a new window and redirect it to localhost:20000
This happens in 3 different servers.
Related to this issue:
Info about the system
SYSTEM INFORMATION|
Operating system Debian Linux 10
Webmin version 1.981 Usermin version 1.823
Virtualmin version 6.17-3 Authentic theme version 19.83-2
Time on system Thursday, November 4, 2021 11:39 AM
Kernel and CPU Linux 4.19.0-17-amd64 on x86_64
Processor information AMD EPYC 7702P 64-Core Processor, 4 cores System uptime 10 days, 17 hours, 05 minutes
In this line:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L150
$body is defined, and possibly populated in the next conditional block, but seems to have nothing done with it. seems bug-like. Should this be an our variable? (I don't think I see it being used that way in other files, though, and other files have $body vars, and so there'd be a lot of ugliness there with masking the variable.)
Seems bug-like.
Note: This issue and several subsequent ones are linking into my fork of the usermin repo. I've completed (once these bugs are dealt with) doing a strict/warn conversion on the mailbox module, so llia and I can really start hacking away as an HTML5 version of the inbox. So, line numbers will not line up with your usermin repo. I'll grant you access to this one if you want to check in changes. Or, I can send a pull request and you can merge it into yours and fix it there. Or, you can tell me what to do, and I'll make the changes. I'm hesitant to make a pull request with something that is definitely currently broken (doesn't even compile). There's about a dozen breaking changes in this batch.
I tried to activate Razor Antispam inside of usermin. There was a button to configure it in the settings. Everything seemed ok, no error message, but in the log there is this entry: razor-report error: nextserver: No Razor servers available at this time
The config button is now no longer visible. For the user it is not visible, if Razor is set up ok and working, or if something is wrong. After the log below, nothing happens in the logs of Razor. I already marked some mails as spam, but nothing in the logs.
Does this mean everything is working, or not?
Feb 26 15:33:24.238656 report[772312]: [ 2] [bootup] Logging initiated LogDebugLevel=3 to file:/home/username...path/.razor/razor-agent.log
Feb 26 15:33:24.238898 report[772312]: [ 2] Razor-Agents v2.84 starting razor-report
Feb 26 15:33:24.238968 report[772312]: [ 3] Razor2 identity not found. Attempting to register automatically.
Feb 26 15:33:24.239004 report[772312]: [ 3] Write test underway
Feb 26 15:33:24.239273 report[772312]: [ 3] Write test completed
Feb 26 15:33:33.257827 report[772312]: [ 3] Attempting to register.
Feb 26 15:33:33.850908 report[772312]: [ 3] Register successful. Identity stored in /home/userna.....path/.razor/identity-...
Feb 26 15:33:33.854839 report[772321]: [ 1] razor-report error: nextserver: No Razor servers available at this time
Hi,
in:
https://github.com/webmin/usermin/blob/master/usermin-init
there is a line:
RELOAD=/etc/usermin/reload
but there is no
/etc/usermin/reload
in my debian systems.
Btw: /etc/webmin/reload is in my debian systems
Oh, I see.. try the following .. open /etc/dovecot/conf.d/10-mail.conf
and tweak default mail location value from:
mail_location = maildir:~/Maildir
.. to:
mail_location = maildir:~/Maildir/:UTF-8
.. and restart Dovecot:
systemctl restart dovecot
Originally posted by @iliarostovtsev in #65 (comment)
I don't really like that issues getting closed without waiting for verification.
It did not solve the issue.
The thing is, the folder name gets displayed correctly if you check in Usermin with the function "Manage Folders", but if you then take a look at the folders in the Mail tab then you will see it gets displayed wrong:
TEst-���-öäü
Displayed correctly in "Manage Folders":
TEst-ÖÄÜ-öäü | /home/xxx/homes/xxx/Maildir/.TEst-ÖÄÜ-öäü
And I did apply the patch @iliarostovtsev mentioned and of course I did restart dovecot and usermin too (just to be sure).
System:
Debian 10
Webmin-Version | 1.962
Usermin-Version | 1.812
Virtualmin Version | 6.14
Authentic theme version | 19.62
When in
Webmin/Usermin Configurations/Edit Categories try to set new name for category, for example _ other_ and hit Save Categories you get this error:
Failed to save categories : Missing description for usermin
If you fill usermin, then something else come up.
Hi, after an update of usermin I stay with a broken link from repo.
Webmin -> ../webadmin/Webmin
wich did not exist.
lokking on the files in it after RPM install it sould be
Webmin -> ../webadmin/WebminUI
Jamie, could ypu please add Two-Factor Authentication
to Usermin as well? It should be easy to do and straight forward, as it's big brother already has it?
Installing on fresh Centos 7.5
Thank you.
Hi usermin admins,
This is not an issue but more a fix ;-)
The "PAM service file" for Mac OS X / macOS in the usermin's "Install Requirements" is (really) outdated here (see chapter: Under OSX....):
http://webmin.com/udownload.html
The fix works with usermin 1.791 and with newer macOS version and it should read:
# login: auth account password session
auth sufficient pam_opendirectory.so try_first_pass
auth required pam_deny.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
Using pam_securityserver.so
is really outdated (back to 10.4 I think).
Hope this helps someone,
gilles
See this thread for details: https://forum.virtualmin.com/t/cant-remove-mbox-format-folders-from-usermin/106898
In:
https://github.com/swelljoe/usermin/blob/master/mailbox/view_mail.cgi#L328
I don't see where $sindex can ever be defined. There's an instance of $sindex in mailbox-lib.pl, but it's pretty deeply nested, and doesn't seem like it was supposed to be global.
When attempting to GPG sign a message with a key that has a passphrase the following error is presented after clicking send:
Failed to send mail: Failed to sign message:
You need a passphrase to unlock the secret key for user: "Test User" 2048-bit RSA key, ID <key ID>, ...
The key was created using the Usermin GPG setup screen, and a file is present at ~/.usermin/gnupg/ named "pass.<key ID>" with the correct passphrase. A private key created without a passphrase works without error.
OS: CentOS 7.9.2009
Usermin: 1.823
/var/usermin/miniserv.error:
Use of uninitialized value in split at ./mailbox-lib.pl line 601.
Use of uninitialized value in split at /usr/libexec/usermin/mailbox/send_mail.cgi line 287.
Use of uninitialized value in split at /usr/libexec/usermin/mailbox/send_mail.cgi line 320.
Error: Failed to sign message :
You need a passphrase to unlock the secret key for
user: "Test User"
2048-bit RSA key, ID 2E3F4FD2, created 2021-05-05
gpg: cancelled by user
gpg: no default secret key: Operation cancelled
gpg: signing failed
In:
https://github.com/swelljoe/usermin/blob/master/mailbox/view_mail.cgi#L366
https://github.com/swelljoe/usermin/blob/master/mailbox/view_mail.cgi#L376
$dsntm gets defined, but doesn't get used anywhere that I can see.
"Tags" and "Releases" are missing:
There are for Webmin:
There seems to be an issue with the german umlauts ("ö ä ü ß") within usermin.
Better to say, still (in regard to #62 ). But its only under a special circumstance.
Folder gets shown as:
Entw&APw-rfe
Should be:
Entwürfe
I tested a bit around and noticed it only gets displayed wrong, meaning encoded in UTF-7 "code" instead of the direct umlaut, if the folder is written with directly with a umlaut. And with that I am talking about written directly like "gelöscht" in Debian and not coded in UTF-7 like "gel&APY-scht".
I noticed that because one of my mails shows that folder wrong and the other one shows it correctly. I tried to rename the folder in Usermin and Outlook (also in iOS), but it didn't help.
So I checked via SSH if there was something wrong and noticed the mentioned thing. So I changed the folder name into UTF-7 code and it gets shown correctly in Usermin then (and still correct in iOS and Outlook).
So there is still an issue with that.
System:
Debian 10
Webmin-Version | 1.962
Usermin-Version | 1.812
Virtualmin Version | 6.14
Authentic theme version | 19.62
Hi, Jamie.
Anytime IMAP is used and Inbox folder has some subfolders, they are not correctly displayed (including on your folder-list select on Gray Theme) as Inbox folder actually in Maildir/ root and subfolders are in Maildir/.INBOX.Subfolder1, Maildir/.INBOX.Subfolder2 and etc. Is there a way to make sure that Inbox for IMAP is returned as actual folder name - .INBOX and not - Maildir?
In these lines:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L2217
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L2218
$qid and $subs are undefined, as far as I can tell.
Jamie, there is a bug for non English users.
How to reproduce:
At first all looks fine but if you go to Procmail Filter than you will see broken chars, which doesn't seem to work either, example:
If I manually edit them in Procmail Mail Filter and hit save, then they are both displayed correctly in both modules.
Could you fix that?
When going to MIME Type Programs module, clicking Preferences on top returns 404 error.
The following messages is repeated hundreds of times when installing/upgrading any package:
insserv: There is a loop at service mon if started
insserv: Starting usermin depends on mon and therefore on system facility `$all' which can not be true!
This is on Ubuntu 18.04 amd64 with usermin 1.760.
It seems like an impossible dependency between the services. It'd be preferable to add an option to install/use systemd service units for these.
Hello,
This has been fixed in Webmin (excellent!) but is still an issue in Usermin.
Is there anything I can help with to solve this issue?
Some kinds of HTML email don't show up at all in the Read Mail module, though the contents can be seen with "View raw message".
An example email that exhibits this behavior: http://calport.com/open/email.txt
I don't see any clues, but I don't have any insight into the mail parser.
In this line:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1887
$dn is undefined. I see $dn being defined as $userconfig{'drafts_name'} in line 504, but that doesn't seem to make sense in this context, so I didn't just set it to that. I'm not sure what it's supposed to be here.
I have MBOX file but can't find a way to import like Horde ?
Jamie, I'm about to start reworking Mailbox for Usermin to make our mail to be competitive with Gmail.
I need few things to add to the containers of mailbox/index.cgi
when displaying mail.
td
that contains label, I need you to add attribute data-timestamp="linux-type-timestamp"
td
that contains label tag, I need you to add attribute data-size="message-size-in-bytes-without-label-just-number"
There probably will be more. Let's start with it. I hope you will be able to do it as soon as possible, so I could merge those changes and start playing around.
Line 629 in 8bc6f5c
This line makes everything under config directory (normally /etc/usermin) world executable, including all the config files and var-path, perl-path, version, webmin.acl, miniserv.users, miniserv.conf etc
Which is wrong.
Probably only 2 files, named start and stop require executable permissions.
So please fix it.
Thank you
I really like the usability of Usermin.
I have deployed a Usermin instance in my home network for users to be able to access their own account.
User account, details and authentication are managed via LDAP by an OpenLDAP instance.
Unfortunately I am unable to get the users to change their own password. When they try, they get the following error because the user details are not in the local passwd
file.
Failed to change password : Your username was not found in the password file
Is there a solution for this?
We're about to release Webmin 1.962 and Usermin 1.811, which are going to include these patches. Within few days, as you install updates, please come back to us sharing how it works for you.
Originally posted by @iliarostovtsev in webmin/webmin#1272 (comment)
I need to open another ticket for that too.
I received a few mails and the issue is still there.
It happens in different browsers (IE, Edge, Firefox, iOS Safari and iOS Firefox) as well on other PCs. It happens in Outlook and Thunderbird as well, the only mail app which displays it correctly for me is the iOS default Mail app.
System:
Debian 10
Webmin-Version | 1.962
Usermin-Version | 1.812
Virtualmin Version | 6.14
Authentic theme version | 19.62
Edit: I opened the issue first in the webmin area and closed it (#1332), sorry.
I finally found out how to login with Usermin on macOS.
Tested usermin 1.791 on macOS 10.14.6, perl 5.28 with Authen::PAM 0.16 from macports.org
By modifying "miniserv.pl" by commenting out the the $pamh->pam_authenticate(); at line 145, works!
# check if the PAM authentication can be used by opening a
# PAM handle
...
$pam_username = "test";
$pam_password = "test";
#$pamh->pam_authenticate(); # <========= Login WORKS when not used
$use_pam = 1; # HACK set "use_pam to true" on macOS to allow login
Then the "validate_unix_user" subroutine is called, and login works.
If you don't comment out the line (testing $pamh->pam_authenticate() ) then the login will spin forever (tried on Firefox 72 and Safari).
Here's my /etc/pam.d/usermin which works on macOS:
# login: auth account password session
auth sufficient pam_opendirectory.so try_first_pass
auth required pam_deny.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
Anyone had this issue on Linux ?
Feature request:
When shift clicking on a checkbox, i would love if the system selected all in the range between the current click and the previous click.
Hi
After now spending a couple of weeks using Usermin along side Thunderbird & Rain Loop (desktop & webmail)
Usermin is a bit clunky what is there nearly works fine & some of the functions are great, however Usermin does lack functionality
but as it stands currently I'll continue to user Thunderbird and Rainloop over Usermin as they appear to add more pro's than con's
In this line:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1319
$acptip is undefined. It is populated in miniserv.pl, but seems to be private?
When trying to setup new GPG private key, using Usermin/Applications/GnuPG Encryption it just doesn't work. I tried bare metal machines and VMs (all possible distros).
In CentOS 7 however, you get output saying: GnuPG has been successfully setup and a secret key generated
, but in reality no key is actually created. In Fedora, Debian, Ubuntu there is no output at all. It just hangs forever.
Right now, it's impossible to generate the key using UI.
Could you please take a look, Jamie?
This has happened on more than one incoming Reply messages. Sent an email from Usermin with the default text/plain
content. The recipient replies with text/html
. Their reply message is HTML and appears empty, you see only the original message, wrapped in an html
box by their email client, but their text/html
message reply is not showing. When you click view raw message
, you see, in their multipart
text/html
, their reply text, with css
, is located inside the <head>
tag! The original message which they replied to, is formatted inside a box in the <body>
tag. Seems to violate the HTML standards regarding do not put content intended to be seen by end users inside the head
tag. Is this a standard format for HTML email messages? Should Usermin parse the text from the <head>
tag? Possibly related to #58
Jamie,
Could you add an option for mailbox/index.cgi
to accept an URL param for controlling preview length if enabled in options?
Besides, could you also add an option to Mailbox Configuration page, so user could define preview length?
To be clear, I need the first option because preview can be based on the screen width. In case user doesn't want it to work based on the width of the screen, he/she would be able to choose preferable preview length.
Contrary to webmin, usermin w/ Authentic Theme does not support Dark Mode in "Login page color palette" and also does not support "Show branding splash screen on initial loading".
It would be great, if you could extend this to usermin as well, thank you!
virtualmin:10000 works normally in another cloudfront distribution, both have the same configuration.
VM728:1
Uncaught TypeError: Cannot read property 'messages' of undefined at render (<anonymous>:1:24446) at Object.success (<anonymous>:1:11689) at c (bundle.min.js?1932156891952917:24) at Object.fireWith [as resolveWith] (bundle.min.js?1932156891952917:24) at r (bundle.min.js?1932156891952917:25) at XMLHttpRequest.<anonymous> (bundle.min.js?1932156891952917:26)
VM728:1
Uncaught TypeError: Cannot read property 'messages' of undefined at render (<anonymous>:1:24446) at Object.success (<anonymous>:1:11689) at c (bundle.min.js?1932156891952917:24) at Object.fireWith [as resolveWith] (bundle.min.js?1932156891952917:24) at r (bundle.min.js?1932156891952917:25) at XMLHttpRequest.<anonymous> (bundle.min.js?1932156891952917:26)
bundle.min.js?1932156891952917:14
Uncaught Error: Not implemented at Function.error (bundle.min.js?1932156891952917:14) at f.treeLoad (<anonymous>:6:25630) at f.treeInit (<anonymous>:6:25429) at f._callHook (<anonymous>:6:690) at e.<computed>.<computed>._init (<anonymous>:6:30104) at e.<computed>.<computed>._init (<anonymous>:5:1111) at e.<computed>.<computed>._createWidget (<anonymous>:5:3385) at new e.<computed>.<computed> (<anonymous>:5:678) at HTMLDivElement.<anonymous> (<anonymous>:5:2476) at Function.each (bundle.min.js?1932156891952917:14)
There seems to be an issue with the german umlauts ("ö ä ü ß") within usermin too.
Entw&APw-rfe
Should be:
Entwürfe
System:
Debian 10
Webmin-Version | 1.953 |
Usermin-Version | 1.802
Virtualmin Version | 6.10 |
Authentic theme version | 19.53
In this line:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1054
And in:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1063
$file is undefined. I'm not sure if it's trying to delete the folder it's in once empty, or if that should be $ifile, or something else.
Total procmail newbie here..having some issues.
This is a negative match filter, essentially used to filter and forward any emails send to this address, that are NOT from "@mygreatdomain.com"
I can only get it to match when I use, Return-Path header, but even matching in Usermin, it fails during procmail execution.
^[<A-Za-z0-9._%+-]+@(?!mygreatdomain.com)[A-Za-z0-9.-]+\.[A-Za-z]{2,4}[>]$
procmail: [20447] Thu Jul 16 04:54:38 2020
procmail: No match on "^Return-Path: .*^[<A-Za-z0-9._%+-]+@(?!mygreatdomain.com)[A-Za-z0-9.-]+\.[A-Za-z]{2,4}[>]$.*"
procmail: Assigning "LASTFOLDER=/home/mygreatdomain..com/homes/test/Maildir/new/1594864478.20447_0.vps1"
procmail: Notified comsat: "test-mygreatdomain..com@0:/home/mygreatdomain..com/homes/test/Maildir/new/1594864478.20447_0.vps1"
From [email protected] Thu Jul 16 04:54:34 2020
Subject: asdfasdfasdfasd
Folder: /home/mygreatdomain..com/homes/test/Maildir/new/1594864478.20447_0. 4634
procmail: Executing "/etc/webmin/virtual-server/procmail-logger.pl"
Time:1594864478 From:[email protected] To:[email protected] User:test-mygreatdomain..com Size:4695 Dest:/home/mygreatdomain..com/homes/test/Maildir/new/1594864478.20447_0.vps1 Mode:None
In these lines:
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1738
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1751
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1759
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1765
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1771
https://github.com/swelljoe/usermin/blob/master/mailbox/mailbox-lib.pl#L1784
I don't see how @mail is getting populated. I feel silly for this one, but I can't wrap my head around where it's supposed to come from. It's called with $mail, but I don't see how that could become @mail, so that's not it. I see mail get defined on 1415 in another subroutine, but that's in another scope (or, at least, it is now and I don't think that'd be called under all circumstances, so can't be relied on).
Maybe it's a folders-lib.pl thing?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.