|
@@ -1,20 +1,25 @@
|
|
|
%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
|
|
|
|
|
|
-%define pam_redhat_version 0.99.11
|
|
|
+%define pam_redhat_version 1.1.2
|
|
|
|
|
|
Summary: A security tool which provides authentication for applications
|
|
|
Summary(ja): アプリケーションに認証の仕組みを提供するセキュリティツール
|
|
|
Name: pam
|
|
|
-Version: 1.3.0
|
|
|
-Release: 2%{?_dist_release}
|
|
|
-# The library is BSD licensed with option to relicense as GPLv2+ - this option is redundant
|
|
|
-# as the BSD license allows that anyway. pam_timestamp and pam_console modules are GPLv2+
|
|
|
-License: BSD and GPLv2+
|
|
|
+Version: 1.3.1
|
|
|
+Release: 1%{?_dist_release}
|
|
|
Group: System Environment/Base
|
|
|
-URL: http://www.us.kernel.org/pub/linux/libs/pam/index.html
|
|
|
|
|
|
-Source0: http://www.linux-pam.org/library/Linux-PAM-%{version}.tar.bz2
|
|
|
-Source2: https://fedorahosted.org/releases/p/a/pam-redhat/pam-redhat-%{pam_redhat_version}.tar.bz2
|
|
|
+Vendor: Project Vine
|
|
|
+Distribution: Vine Linux
|
|
|
+Packager: daisuke
|
|
|
+
|
|
|
+# The library is BSD licensed with option to relicense as GPLv2+
|
|
|
+# - this option is redundant as the BSD license allows that anyway.
|
|
|
+# pam_timestamp, pam_loginuid, and pam_console modules are GPLv2+.
|
|
|
+License: BSD and GPLv2+
|
|
|
+URL: http://www.us.kernel.org/pub/linux/libs/pam/index.html
|
|
|
+Source0: https://github.com/linux-pam/linux-pam/releases/download/v%{version}/Linux-PAM-%{version}.tar.xz
|
|
|
+Source2: https://releases.pagure.org/pam-redhat/pam-redhat-%{pam_redhat_version}.tar.bz2
|
|
|
Source5: other.pamd
|
|
|
Source6: system-auth.pamd
|
|
|
Source7: password-auth.pamd
|
|
@@ -28,25 +33,48 @@ Source14: 90-nproc.conf
|
|
|
Source15: pamtmp.conf
|
|
|
Source16: postlogin.pamd
|
|
|
Source17: postlogin.5
|
|
|
-Patch1: pam-1.2.0-redhat-modules.patch
|
|
|
-Patch4: pam-1.1.0-console-nochmod.patch
|
|
|
-Patch5: pam-1.1.0-notally.patch
|
|
|
-Patch7: pam-1.2.1-faillock.patch
|
|
|
-Patch8: pam-1.2.1-faillock-admin-group.patch
|
|
|
-Patch9: pam-1.1.6-noflex.patch
|
|
|
+Source18: https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
|
|
+Patch1: pam-1.3.1-redhat-modules.patch
|
|
|
+Patch9: pam-1.3.1-noflex.patch
|
|
|
Patch10: pam-1.1.3-nouserenv.patch
|
|
|
Patch13: pam-1.1.6-limits-user.patch
|
|
|
Patch15: pam-1.1.8-full-relro.patch
|
|
|
-# FIPS related - non upstreamable
|
|
|
-Patch20: pam-1.2.0-unix-no-fallback.patch
|
|
|
-Patch28: pam-1.1.1-console-errmsg.patch
|
|
|
# Upstreamed partially
|
|
|
Patch29: pam-1.3.0-pwhistory-helper.patch
|
|
|
Patch31: pam-1.1.8-audit-user-mgmt.patch
|
|
|
-Patch32: pam-1.2.1-console-devname.patch
|
|
|
Patch33: pam-1.3.0-unix-nomsg.patch
|
|
|
-
|
|
|
-Patch1000: pam-1.3.0-ja.po.patch
|
|
|
+Patch34: pam-1.3.1-coverity.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/a2b72aeb86f297d349bc9e6a8f059fedf97a499a
|
|
|
+Patch36: pam-1.3.1-unix-remove-obsolete-_unix_read_password-prototype.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/f7abb8c1ef3aa31e6c2564a8aaf69683a77c2016.patch
|
|
|
+Patch37: pam-1.3.1-unix-bcrypt_b.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/dce80b3f11b3c3aa137d18f22699809094dd64b6
|
|
|
+Patch38: pam-1.3.1-unix-gensalt-autoentropy.patch
|
|
|
+Patch39: pam-1.3.1-unix-crypt_checksalt.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/16bd523f85ede9fa9115f80e826f2d803d7e61d4
|
|
|
+Patch40: pam-1.3.1-unix-yescrypt.patch
|
|
|
+# To be upstreamed soon.
|
|
|
+Patch41: pam-1.3.1-unix-no-fallback.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/f9c9c72121eada731e010ab3620762bcf63db08f
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/8eaf5570cf011148a0b55c53570df5edaafebdb0
|
|
|
+Patch42: pam-1.3.1-motd-multiple-paths.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/86eed7ca01864b9fd17099e57f10f2b9b6b568a1
|
|
|
+Patch43: pam-1.3.1-unix-checksalt_syslog.patch
|
|
|
+# https://github.com/linux-pam/linux-pam/commit/d8d11db2cef65da5d2afa7acf21aa9c8cd88abed
|
|
|
+Patch44: pam-1.3.1-unix-fix_checksalt_syslog.patch
|
|
|
+Patch45: pam-1.3.1-namespace-mntopts.patch
|
|
|
+Patch46: pam-1.3.1-lastlog-no-showfailed.patch
|
|
|
+Patch47: pam-1.3.1-lastlog-unlimited-fsize.patch
|
|
|
+Patch48: pam-1.3.1-unix-improve-logging.patch
|
|
|
+Patch49: pam-1.3.1-tty-audit-manfix.patch
|
|
|
+Patch50: pam-1.3.1-fds-closing.patch
|
|
|
+Patch51: pam-1.3.1-authtok-verify-fix.patch
|
|
|
+Patch52: pam-1.3.1-add-pam_usertype.patch
|
|
|
+Patch53: pam-1.3.1-add-pam_usertype-fix-backport.patch
|
|
|
+Patch54: pam-1.3.1-pam_selinux-check-unknown-objects.patch
|
|
|
+
|
|
|
+
|
|
|
+Patch1000: pam-1.3.1-ja.po.patch
|
|
|
|
|
|
%define _sbindir /sbin
|
|
|
%define _moduledir /%{_lib}/security
|
|
@@ -85,9 +113,6 @@ BuildRequires: libdb-devel
|
|
|
# pam.d/login in old util-linux uses obsolete pam module.
|
|
|
Conflicts: util-linux < 2.14
|
|
|
|
|
|
-Vendor: Project Vine
|
|
|
-Distribution: Vine Linux
|
|
|
-Packager: daisuke
|
|
|
|
|
|
%description
|
|
|
PAM (Pluggable Authentication Modules) is a system security tool that
|
|
@@ -167,25 +192,41 @@ PAM (Pluggable Authentication Modules) は,システム管理者が
|
|
|
|
|
|
%prep
|
|
|
%setup -q -n Linux-PAM-%{version} -a 2
|
|
|
+perl -pi -e "s/\/lib \/usr\/lib/\/lib \/usr\/lib \/lib64 \/usr\/lib64/" m4/libtool.m4
|
|
|
|
|
|
# Add custom modules.
|
|
|
mv pam-redhat-%{pam_redhat_version}/* modules
|
|
|
|
|
|
+cp %{SOURCE18} .
|
|
|
+
|
|
|
%patch1 -p1 -b .redhat-modules
|
|
|
-%patch4 -p1 -b .nochmod
|
|
|
-%patch5 -p1 -b .notally
|
|
|
-%patch7 -p1 -b .faillock
|
|
|
-%patch8 -p1 -b .admin-group
|
|
|
%patch9 -p1 -b .noflex
|
|
|
%patch10 -p1 -b .nouserenv
|
|
|
%patch13 -p1 -b .limits
|
|
|
%patch15 -p1 -b .relro
|
|
|
-%patch20 -p1 -b .no-fallback
|
|
|
-%patch28 -p1 -b .errmsg
|
|
|
%patch29 -p1 -b .pwhhelper
|
|
|
%patch31 -p1 -b .audit-user-mgmt
|
|
|
-%patch32 -p1 -b .devname
|
|
|
%patch33 -p1 -b .nomsg
|
|
|
+%patch34 -p1 -b .coverity
|
|
|
+%patch36 -p1 -b .remove-prototype
|
|
|
+%patch37 -p1 -b .bcrypt_b
|
|
|
+%patch38 -p1 -b .gensalt-autoentropy
|
|
|
+%patch39 -p1 -b .crypt_checksalt
|
|
|
+%patch40 -p1 -b .yescrypt
|
|
|
+%patch41 -p1 -b .no-fallback
|
|
|
+%patch42 -p1 -b .multiple-paths
|
|
|
+%patch43 -p1 -b .checksalt_syslog
|
|
|
+%patch44 -p1 -b .fix_checksalt_syslog
|
|
|
+%patch45 -p1 -b .mntopts
|
|
|
+%patch46 -p1 -b .no-showfailed
|
|
|
+%patch47 -p1 -b .unlimited-fsize
|
|
|
+%patch48 -p1 -b .improve-logging
|
|
|
+%patch49 -p1 -b .tty-audit-manfix
|
|
|
+%patch50 -p1 -b .fds-closing
|
|
|
+%patch51 -p1 -b .authtok-verify-fix
|
|
|
+%patch52 -p1 -b .add-pam_usertype
|
|
|
+%patch53 -p1 -b .add-pam_usertype-backport
|
|
|
+%patch54 -p1 -b .pam_selinux-check-unknown-objects
|
|
|
|
|
|
%patch1000 -p1 -b .ja
|
|
|
|
|
@@ -213,68 +254,75 @@ make
|
|
|
|
|
|
|
|
|
%install
|
|
|
-rm -rf $RPM_BUILD_ROOT
|
|
|
+rm -rf %{buildroot}
|
|
|
|
|
|
mkdir -p doc/txts
|
|
|
for readme in modules/pam_*/README ; do
|
|
|
cp -f ${readme} doc/txts/README.`dirname ${readme} | sed -e 's|^modules/||'`
|
|
|
done
|
|
|
|
|
|
+rm -rf doc/txts/README.pam_tally*
|
|
|
+rm -rf doc/sag/html/*pam_tally*
|
|
|
+
|
|
|
# Install the binaries, libraries, and modules.
|
|
|
-make install DESTDIR=$RPM_BUILD_ROOT LDCONFIG=:
|
|
|
+make install DESTDIR=%{buildroot} LDCONFIG=:
|
|
|
|
|
|
%if %{WITH_SELINUX}
|
|
|
# Temporary compat link
|
|
|
-ln -sf pam_sepermit.so $RPM_BUILD_ROOT%{_moduledir}/pam_selinux_permit.so
|
|
|
+ln -sf pam_sepermit.so %{buildroot}%{_moduledir}/pam_selinux_permit.so
|
|
|
%endif
|
|
|
|
|
|
# RPM uses docs from source tree
|
|
|
-rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/Linux-PAM
|
|
|
+rm -rf %{buildroot}%{_datadir}/doc/Linux-PAM
|
|
|
# Included in setup package
|
|
|
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/environment
|
|
|
+rm -f %{buildroot}%{_sysconfdir}/environment
|
|
|
|
|
|
# Install default configuration files.
|
|
|
-install -d -m 755 $RPM_BUILD_ROOT%{_pamconfdir}
|
|
|
-install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_pamconfdir}/other
|
|
|
-install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_pamconfdir}/system-auth
|
|
|
-install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_pamconfdir}/password-auth
|
|
|
-install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_pamconfdir}/fingerprint-auth
|
|
|
-install -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_pamconfdir}/smartcard-auth
|
|
|
-install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_pamconfdir}/config-util
|
|
|
-install -m 644 %{SOURCE16} $RPM_BUILD_ROOT%{_pamconfdir}/postlogin
|
|
|
-install -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{_secconfdir}/limits.d/90-nproc.conf
|
|
|
-install -m 600 /dev/null $RPM_BUILD_ROOT%{_secconfdir}/opasswd
|
|
|
+install -d -m 755 %{buildroot}%{_pamconfdir}
|
|
|
+install -m 644 %{SOURCE5} %{buildroot}%{_pamconfdir}/other
|
|
|
+install -m 644 %{SOURCE6} %{buildroot}%{_pamconfdir}/system-auth
|
|
|
+install -m 644 %{SOURCE7} %{buildroot}%{_pamconfdir}/password-auth
|
|
|
+install -m 644 %{SOURCE8} %{buildroot}%{_pamconfdir}/fingerprint-auth
|
|
|
+install -m 644 %{SOURCE9} %{buildroot}%{_pamconfdir}/smartcard-auth
|
|
|
+install -m 644 %{SOURCE10} %{buildroot}%{_pamconfdir}/config-util
|
|
|
+install -m 644 %{SOURCE16} %{buildroot}%{_pamconfdir}/postlogin
|
|
|
+install -m 644 %{SOURCE14} %{buildroot}%{_secconfdir}/limits.d/90-nproc.conf
|
|
|
+install -m 600 /dev/null %{buildroot}%{_secconfdir}/opasswd
|
|
|
+
|
|
|
install -d -m 755 $RPM_BUILD_ROOT/var/log
|
|
|
-install -m 600 /dev/null $RPM_BUILD_ROOT/var/log/faillog
|
|
|
-install -m 600 /dev/null $RPM_BUILD_ROOT/var/log/tallylog
|
|
|
+install -d -m 755 $RPM_BUILD_ROOT/var/run/faillock
|
|
|
+install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/motd.d
|
|
|
+install -d -m 755 $RPM_BUILD_ROOT/usr/lib/motd.d
|
|
|
+install -d -m 755 $RPM_BUILD_ROOT/run/motd.d
|
|
|
+
|
|
|
|
|
|
# Install man pages.
|
|
|
-install -m 644 %{SOURCE12} %{SOURCE13} ${SOURCE17} $RPM_BUILD_ROOT%{_mandir}/man5/
|
|
|
+install -m 644 %{SOURCE12} %{SOURCE13} ${SOURCE17} %{buildroot}%{_mandir}/man5/
|
|
|
|
|
|
for phase in auth acct passwd session ; do
|
|
|
- ln -sf pam_unix.so $RPM_BUILD_ROOT%{_moduledir}/pam_unix_${phase}.so
|
|
|
+ ln -sf pam_unix.so %{buildroot}%{_moduledir}/pam_unix_${phase}.so
|
|
|
done
|
|
|
|
|
|
# Remove .la files and make new .so links -- this depends on the value
|
|
|
# of _libdir not changing, and *not* being /usr/lib.
|
|
|
-install -d -m 755 $RPM_BUILD_ROOT%{_libdir}
|
|
|
+install -d -m 755 %{buildroot}%{_libdir}
|
|
|
for lib in libpam libpamc libpam_misc ; do
|
|
|
-pushd $RPM_BUILD_ROOT%{_libdir}
|
|
|
+pushd %{buildroot}%{_libdir}
|
|
|
ln -sf ../../%{_lib}/${lib}.so.*.* ${lib}.so
|
|
|
popd
|
|
|
-rm -f $RPM_BUILD_ROOT/%{_lib}/${lib}.so
|
|
|
-rm -f $RPM_BUILD_ROOT/%{_lib}/${lib}.la
|
|
|
+rm -f %{buildroot}/%{_lib}/${lib}.so
|
|
|
+rm -f %{buildroot}/%{_lib}/${lib}.la
|
|
|
done
|
|
|
-rm -f $RPM_BUILD_ROOT%{_moduledir}/*.la
|
|
|
+rm -f %{buildroot}%{_moduledir}/*.la
|
|
|
|
|
|
# Duplicate doc file sets.
|
|
|
-rm -fr $RPM_BUILD_ROOT/usr/share/doc/pam
|
|
|
+rm -fr %{buildroot}/usr/share/doc/pam
|
|
|
|
|
|
# Install the file for autocreation of /var/run subdirectories on boot
|
|
|
-install -m644 -D %{SOURCE15} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/pam.conf
|
|
|
+install -m644 -D %{SOURCE15} %{buildroot}%{_prefix}/lib/tmpfiles.d/pam.conf
|
|
|
|
|
|
# Create /lib/security in case it isn't the same as %{_moduledir}.
|
|
|
-install -m755 -d $RPM_BUILD_ROOT/lib/security
|
|
|
+install -m755 -d %{buildroot}/lib/security
|
|
|
|
|
|
%find_lang Linux-PAM
|
|
|
|
|
@@ -291,7 +339,8 @@ if [ -d ${dir} ] ; then
|
|
|
[ ${dir} = "modules/pam_tty_audit" ] && continue
|
|
|
%endif
|
|
|
[ ${dir} = "modules/pam_tally" ] && continue
|
|
|
- if ! ls -1 $RPM_BUILD_ROOT%{_moduledir}/`basename ${dir}`*.so ; then
|
|
|
+ [ ${dir} = "modules/pam_tally2" ] && continue
|
|
|
+ if ! ls -1 %{buildroot}%{_moduledir}/`basename ${dir}`*.so ; then
|
|
|
echo ERROR `basename ${dir}` did not build a module.
|
|
|
exit 1
|
|
|
fi
|
|
@@ -300,10 +349,10 @@ done
|
|
|
|
|
|
# Check for module problems. Specifically, check that every module we just
|
|
|
# installed can actually be loaded by a minimal PAM-aware application.
|
|
|
-/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_lib}
|
|
|
-for module in $RPM_BUILD_ROOT%{_moduledir}/pam*.so ; do
|
|
|
- if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
|
|
|
- %{SOURCE11} -ldl -lpam -L$RPM_BUILD_ROOT/%{_libdir} ${module} ; then
|
|
|
+/sbin/ldconfig -n %{buildroot}/%{_lib}
|
|
|
+for module in %{buildroot}%{_moduledir}/pam*.so ; do
|
|
|
+ if ! env LD_LIBRARY_PATH=%{buildroot}/%{_lib} \
|
|
|
+ %{SOURCE11} -ldl -lpam -L%{buildroot}/%{_libdir} ${module} ; then
|
|
|
echo ERROR module: ${module} cannot be loaded.
|
|
|
exit 1
|
|
|
fi
|
|
@@ -311,7 +360,7 @@ done
|
|
|
|
|
|
|
|
|
%clean
|
|
|
-rm -rf $RPM_BUILD_ROOT
|
|
|
+rm -rf %{buildroot}
|
|
|
|
|
|
%post -p <lua>
|
|
|
os.execute("/sbin/ldconfig")
|
|
@@ -345,7 +394,8 @@ end
|
|
|
%config(noreplace) %{_pamconfdir}/smartcard-auth
|
|
|
%config(noreplace) %{_pamconfdir}/config-util
|
|
|
%config(noreplace) %{_pamconfdir}/postlogin
|
|
|
-%doc Copyright
|
|
|
+%license Copyright
|
|
|
+%license gpl-2.0.txt
|
|
|
%doc doc/txts
|
|
|
%doc doc/sag/*.txt doc/sag/html
|
|
|
%doc doc/specs/rfc86.0.txt
|
|
@@ -353,7 +403,6 @@ end
|
|
|
/%{_lib}/libpamc.so.*
|
|
|
/%{_lib}/libpam_misc.so.*
|
|
|
%{_sbindir}/pam_console_apply
|
|
|
-%{_sbindir}/pam_tally2
|
|
|
%{_sbindir}/faillock
|
|
|
%attr(4755,root,root) %{_sbindir}/pam_timestamp_check
|
|
|
%attr(4755,root,root) %{_sbindir}/unix_chkpwd
|
|
@@ -404,7 +453,6 @@ end
|
|
|
%{_moduledir}/pam_shells.so
|
|
|
%{_moduledir}/pam_stress.so
|
|
|
%{_moduledir}/pam_succeed_if.so
|
|
|
-%{_moduledir}/pam_tally2.so
|
|
|
%{_moduledir}/pam_time.so
|
|
|
%{_moduledir}/pam_timestamp.so
|
|
|
%if %{WITH_AUDIT}
|
|
@@ -417,6 +465,7 @@ end
|
|
|
%{_moduledir}/pam_unix_passwd.so
|
|
|
%{_moduledir}/pam_unix_session.so
|
|
|
%{_moduledir}/pam_userdb.so
|
|
|
+%{_moduledir}/pam_usertype.so
|
|
|
%{_moduledir}/pam_warn.so
|
|
|
%{_moduledir}/pam_wheel.so
|
|
|
%{_moduledir}/pam_xauth.so
|
|
@@ -426,6 +475,7 @@ end
|
|
|
%config(noreplace) %{_secconfdir}/chroot.conf
|
|
|
%config %{_secconfdir}/console.perms
|
|
|
%config(noreplace) %{_secconfdir}/console.handlers
|
|
|
+%config(noreplace) %{_secconfdir}/faillock.conf
|
|
|
%config(noreplace) %{_secconfdir}/group.conf
|
|
|
%config(noreplace) %{_secconfdir}/limits.conf
|
|
|
%dir %{_secconfdir}/limits.d
|
|
@@ -436,7 +486,12 @@ end
|
|
|
%config(noreplace) %{_secconfdir}/pam_env.conf
|
|
|
%if %{WITH_SELINUX}
|
|
|
%config(noreplace) %{_secconfdir}/sepermit.conf
|
|
|
+%dir /var/run/sepermit
|
|
|
%endif
|
|
|
+%dir /var/run/faillock
|
|
|
+%dir %{_sysconfdir}/motd.d
|
|
|
+%dir /run/motd.d
|
|
|
+%dir /usr/lib/motd.d
|
|
|
%config(noreplace) %{_secconfdir}/time.conf
|
|
|
%config(noreplace) %{_secconfdir}/opasswd
|
|
|
%dir %{_secconfdir}/console.apps
|
|
@@ -510,7 +565,6 @@ end
|
|
|
%{_moduledir}/pam_shells.so
|
|
|
%{_moduledir}/pam_stress.so
|
|
|
%{_moduledir}/pam_succeed_if.so
|
|
|
-%{_moduledir}/pam_tally2.so
|
|
|
%{_moduledir}/pam_time.so
|
|
|
%{_moduledir}/pam_timestamp.so
|
|
|
%if %{WITH_AUDIT}
|
|
@@ -523,6 +577,7 @@ end
|
|
|
%{_moduledir}/pam_unix_passwd.so
|
|
|
%{_moduledir}/pam_unix_session.so
|
|
|
%{_moduledir}/pam_userdb.so
|
|
|
+%{_moduledir}/pam_usertype.so
|
|
|
%{_moduledir}/pam_warn.so
|
|
|
%{_moduledir}/pam_wheel.so
|
|
|
%{_moduledir}/pam_xauth.so
|
|
@@ -537,6 +592,11 @@ end
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
+* Tue Mar 24 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.3.1-1
|
|
|
+- updated to 1.3.1.
|
|
|
+- updated rawhide's patches.
|
|
|
+- updated Patch1000.
|
|
|
+
|
|
|
* Thu Nov 09 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.3.0-2
|
|
|
- updated ja.po.
|
|
|
|