Projects
Kolab:16
chwala
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 17
View file
chwala.spec
Changed
@@ -37,7 +37,7 @@ %global _ap_sysconfdir %{_sysconfdir}/%{httpd_name} Name: chwala -Version: 0.5.0 +Version: 0.5.1 Release: 1%{?dist} Summary: Glorified WebDAV, done right @@ -151,7 +151,7 @@ %files %doc README.md LICENSE doc/SQL/ %if 0%{?plesk} < 1 -%{_ap_sysconfdir}/conf.d/%{name}.conf +%config(noreplace) %{_ap_sysconfdir}/conf.d/%{name}.conf %endif %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_datadir}/%{name} @@ -160,6 +160,9 @@ %attr(0750,%{httpd_user},%{httpd_group}) %{_localstatedir}/log/%{name} %changelog +* Mon Jul 24 2017 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 0.5.1-1 +- Release 0.5.1 + * Wed May 31 2017 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 0.5.0-1 - Release 0.5.0
View file
build.log
Added
@@ -0,0 +1,407 @@ +Building chwala.dsc for Debian_8.0/x86_64 +Getting buildinfo from server and store to /home/vanmeeuwen/devel/osc/Kolab:Winterfell/chwala/.osc/_buildinfo-Debian_8.0-x86_64.xml +Getting buildconfig from server and store to /home/vanmeeuwen/devel/osc/Kolab:Winterfell/chwala/.osc/_buildconfig-Debian_8.0-x86_64 +Updating cache of required packages +0.0% cache miss. 147/147 dependencies cached. + +Skipping verification of package signatures +Writing build configuration +Running build +logging output to /var/tmp/build-root/Debian_8.0-x86_64/.build.log... +[ 0s] Memory limit set to 10808770KB +[ 0s] Using BUILD_ROOT=/var/tmp/build-root/Debian_8.0-x86_64 +[ 0s] Using BUILD_ARCH=x86_64:i686:i586:i486:i386 +[ 0s] +[ 0s] +[ 0s] mws05.kolabsys.com started "build chwala.dsc" at Wed May 10 06:36:45 UTC 2017. +[ 0s] +[ 0s] +[ 0s] processing recipe /home/vanmeeuwen/devel/osc/Kolab:Winterfell/chwala/chwala.dsc ... +[ 0s] running changelog2spec --target debian --file /home/vanmeeuwen/devel/osc/Kolab:Winterfell/chwala/chwala.dsc +[ 0s] init_buildsystem --configdir /usr/lib/build/configs --cachedir /var/cache/build --rpmlist /home/vanmeeuwen/tmp/rpmlist.7b6e3N /home/vanmeeuwen/devel/osc/Kolab:Winterfell/chwala/chwala.dsc ... +[ 1s] reordering...cycle: libc6 -> libgcc1 +[ 1s] breaking dependency libgcc1 -> libc6 +[ 1s] cycle: libc6 -> libgcc1 -> multiarch-support +[ 1s] breaking dependency multiarch-support -> libc6 +[ 1s] cycle: libdevmapper1.02.1 -> dmsetup +[ 1s] breaking dependency libdevmapper1.02.1 -> dmsetup +[ 1s] done +[ 1s] querying package ids... +[ 1s] [1/147] keeping gcc-4.9-base-4.9.2-10 +[ 1s] [2/147] keeping libaudit-common-1:2.4-1 +[ 1s] [3/147] keeping libsemanage-common-2.3-1 +[ 1s] [4/147] keeping linux-libc-dev-3.16.36-1+deb8u1 +[ 1s] [5/147] keeping lsb-base-4.1+Debian13+nmu1 +[ 1s] [6/147] keeping ncurses-base-5.9+20140913-1 +[ 1s] [7/147] keeping multiarch-support-2.19-18+deb8u6 +[ 1s] [8/147] keeping libgcc1-1:4.9.2-10 +[ 1s] [9/147] keeping libc6-2.19-18+deb8u6 +[ 1s] [10/147] keeping debianutils-4.4+b1 +[ 1s] [11/147] keeping diffutils-1:3.3-1+b1 +[ 1s] [12/147] keeping findutils-4.4.2-9+b1 +[ 1s] [13/147] keeping hostname-3.15 +[ 1s] [14/147] keeping libc-bin-2.19-18+deb8u6 +[ 1s] [15/147] keeping libc-dev-bin-2.19-18+deb8u6 +[ 1s] [16/147] keeping libeinfo1-0.13.1-4 +[ 1s] [17/147] keeping libfakeroot-1.20.2-1 +[ 1s] [18/147] keeping make-4.0-8.1 +[ 1s] [19/147] keeping patch-2.7.5-1 +[ 1s] [20/147] keeping startpar-0.59-3 +[ 1s] [21/147] keeping e2fslibs-1.42.12-2 +[ 1s] [22/147] keeping libattr1-1:2.4.47-2 +[ 1s] [23/147] keeping libbz2-1.0-1.0.6-7+b3 +[ 1s] [24/147] keeping libcomerr2-1.42.12-2 +[ 1s] [25/147] keeping libdb5.3-5.3.28-9 +[ 1s] [26/147] keeping libdebconfclient0-0.192 +[ 1s] [27/147] keeping libffi6-3.1-2+b2 +[ 1s] [28/147] keeping libgmp10-2:6.0.0+dfsg-6 +[ 1s] [29/147] keeping libgpg-error0-1.17-3 +[ 1s] [30/147] keeping libkmod2-18-3 +[ 1s] [31/147] keeping liblzma5-5.1.1alpha+20120614-2+b3 +[ 1s] [32/147] keeping libpcre3-2:8.35-3.3+deb8u4 +[ 1s] [33/147] keeping libpipeline1-1.4.0-1 +[ 1s] [34/147] keeping libprocps3-2:3.3.9-9 +[ 1s] [35/147] keeping libsepol1-2.3-2 +[ 1s] [36/147] keeping libsigsegv2-2.10-4+b1 +[ 1s] [37/147] keeping libslang2-2.3.0-2 +[ 1s] [38/147] keeping libsmartcols1-2.25.2-6 +[ 1s] [39/147] keeping libtinfo5-5.9+20140913-1+b1 +[ 1s] [40/147] keeping libudev1-215-17+deb8u5 +[ 1s] [41/147] keeping libunistring0-0.9.3-5.2+b1 +[ 1s] [42/147] keeping libustr-1.0-1-1.0.4-3+b2 +[ 1s] [43/147] keeping zlib1g-1:1.2.8.dfsg-2+b1 +[ 1s] [44/147] keeping libatomic1-4.9.2-10 +[ 1s] [45/147] keeping libaudit1-1:2.4-1+b1 +[ 1s] [46/147] keeping libgomp1-4.9.2-10 +[ 1s] [47/147] keeping libitm1-4.9.2-10 +[ 1s] [48/147] keeping libquadmath0-4.9.2-10 +[ 1s] [49/147] keeping libstdc++6-4.9.2-10 +[ 1s] [50/147] keeping base-passwd-3.5.37 +[ 1s] [51/147] keeping binutils-2.25-5 +[ 1s] [52/147] keeping bzip2-1.0.6-7+b3 +[ 1s] [53/147] keeping fakeroot-1.20.2-1 +[ 1s] [54/147] keeping librc1-0.13.1-4 +[ 1s] [55/147] keeping ncurses-bin-5.9+20140913-1+b1 +[ 1s] [56/147] keeping xz-utils-5.1.1alpha+20120614-2+b3 +[ 1s] [57/147] keeping groff-base-1.22.2-8 +[ 1s] [58/147] keeping libacl1-2.2.52-2 +[ 1s] [59/147] keeping libc6-dev-2.19-18+deb8u6 +[ 1s] [60/147] keeping libcap2-1:2.24-8 +[ 1s] [61/147] keeping libgcrypt20-1.6.3-2+deb8u2 +[ 1s] [62/147] keeping libisl10-0.12.2-2 +[ 1s] [63/147] keeping libmagic1-1:5.22+15-2+deb8u2 +[ 1s] [64/147] keeping libmpfr4-3.1.2-2 +[ 1s] [65/147] keeping libncurses5-5.9+20140913-1+b1 +[ 1s] [66/147] keeping libncursesw5-5.9+20140913-1+b1 +[ 1s] [67/147] keeping libselinux1-2.3-2 +[ 1s] [68/147] keeping libss2-1.42.12-2 +[ 1s] [69/147] keeping libasprintf0c2-0.19.3-2 +[ 1s] [70/147] keeping libxml2-2.9.1+dfsg1-5+deb8u3 +[ 1s] [71/147] keeping libasan1-4.9.2-10 +[ 1s] [72/147] keeping libcilkrts5-4.9.2-10 +[ 1s] [73/147] keeping liblsan0-4.9.2-10 +[ 1s] [74/147] keeping libtsan0-4.9.2-10 +[ 1s] [75/147] keeping libubsan0-4.9.2-10 +[ 1s] [76/147] keeping gettext-base-0.19.3-2 +[ 1s] [77/147] keeping libcap2-bin-1:2.24-8 +[ 1s] [78/147] keeping acl-2.2.52-2 +[ 1s] [79/147] keeping file-1:5.22+15-2+deb8u2 +[ 1s] [80/147] keeping openrc-0.13.1-4 +[ 1s] [81/147] keeping sysvinit-utils-2.88dsf-59 +[ 1s] [82/147] keeping tar-1.27.1-2+b1 +[ 1s] [83/147] keeping coreutils-8.23-4 +[ 1s] [84/147] keeping libcloog-isl4-0.18.2-1+b2 +[ 1s] [85/147] keeping libmpc3-1.0.2-1 +[ 1s] [86/147] keeping libsystemd0-215-17+deb8u5 +[ 1s] [87/147] keeping libdevmapper1.02.1-2:1.02.90-2.2+deb8u1 +[ 1s] [88/147] keeping libglib2.0-0-2.42.1-1+b1 +[ 1s] [89/147] keeping libsemanage1-2.3-1+b1 +[ 1s] [90/147] keeping libgcc-4.9-dev-4.9.2-10 +[ 1s] [91/147] keeping bsdutils-1:2.25.2-6 +[ 1s] [92/147] keeping libcroco3-0.6.8-3+b1 +[ 1s] [93/147] keeping libstdc++-4.9-dev-4.9.2-10 +[ 1s] [94/147] keeping dpkg-1.17.27 +[ 1s] [95/147] keeping cpp-4.9-4.9.2-10 +[ 1s] [96/147] keeping cpp-4:4.9.2-2 +[ 1s] [97/147] keeping readline-common-6.3-8 +[ 1s] [98/147] keeping gzip-1.6-4 +[ 1s] [99/147] keeping perl-base-5.20.2-3+deb8u6 +[ 1s] [100/147] keeping dash-0.5.7-4+b1 +[ 1s] [101/147] keeping grep-2.20-4.1 +[ 1s] [102/147] keeping libgdbm3-1.8.3-13.1 +[ 1s] [103/147] keeping sed-4.2.2-4+b1 +[ 1s] [104/147] keeping bsdmainutils-9.0.6 +[ 1s] [105/147] keeping gettext-0.19.3-2 +[ 1s] [106/147] keeping gcc-4.9-4.9.2-10 +[ 1s] [107/147] keeping debconf-1.5.56 +[ 1s] [108/147] keeping init-system-helpers-1.22 +[ 1s] [109/147] keeping gcc-4:4.9.2-2 +[ 1s] [110/147] keeping perl-modules-5.20.2-3+deb8u6 +[ 1s] [111/147] keeping libreadline6-6.3-8+b3 +[ 1s] [112/147] keeping g++-4.9-4.9.2-10 +[ 1s] [113/147] keeping tzdata-2016f-0+deb8u1 +[ 1s] [114/147] keeping g++-4:4.9.2-2 +[ 1s] [115/147] keeping libpam0g-1.1.8-3.1+deb8u1+b1 +[ 1s] [116/147] keeping gawk-1:4.1.1+dfsg-1 +[ 1s] [117/147] keeping man-db-2.7.0.2-5 +[ 1s] [118/147] keeping perl-5.20.2-3+deb8u6 +[ 1s] [119/147] keeping base-files-8+deb8u6 +[ 1s] [120/147] keeping libtimedate-perl-2.3000-2 +[ 1s] [121/147] keeping intltool-debian-0.35.0+20060710.1 +[ 1s] [122/147] keeping libpam-modules-bin-1.1.8-3.1+deb8u1+b1 +[ 1s] [123/147] keeping libdpkg-perl-1.17.27 +[ 1s] [124/147] keeping po-debconf-1.0.16+nmu3 +[ 1s] [125/147] keeping bash-4.3-11+b1 +[ 1s] [126/147] keeping libpam-modules-1.1.8-3.1+deb8u1+b1 +[ 1s] [127/147] keeping libpam-runtime-1.1.8-3.1+deb8u1 +[ 1s] [128/147] keeping dpkg-dev-1.17.27 +[ 1s] [129/147] keeping passwd-1:4.2-3+deb8u1 +[ 1s] [130/147] keeping adduser-3.113+nmu3 +[ 1s] [131/147] keeping libuuid1-2.25.2-6 +[ 1s] [132/147] keeping build-essential-11.7 +[ 1s] [133/147] keeping login-1:4.2-3+deb8u1 +[ 1s] [134/147] keeping debhelper-9.20150101+deb8u2 +[ 1s] [135/147] keeping libblkid1-2.25.2-6 +[ 1s] [136/147] keeping user-setup-1.61 +[ 1s] [137/147] keeping libcryptsetup4-2:1.6.6-5 +[ 1s] [138/147] keeping libmount1-2.25.2-6 +[ 1s] [139/147] keeping mount-2.25.2-6 +[ 1s] [140/147] keeping initscripts-2.88dsf-59 +[ 1s] [141/147] keeping procps-2:3.3.9-9 +[ 1s] [142/147] keeping util-linux-2.25.2-6 +[ 1s] [143/147] keeping dmsetup-2:1.02.90-2.2+deb8u1 +[ 1s] [144/147] keeping e2fsprogs-1.42.12-2 +[ 1s] [145/147] keeping udev-215-17+deb8u5 +[ 1s] [146/147] keeping systemd-215-17+deb8u5 +[ 1s] [147/147] keeping systemd-sysv-215-17+deb8u5 +[ 1s] configuring all installed packages... +[ 1s] removing nis flags from /var/tmp/build-root/Debian_8.0-x86_64/etc/nsswitch.conf... +[ 1s] now finalizing build dir... +[ 1s] cp: omitting directory '/home/vanmeeuwen/devel/osc/Kolab:Winterfell/chwala/debian' +[ 1s] Found files matching debian.*, running debian transformer... +[ 1s] ** Started: debtransform /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/chwala.dsc /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES.DEB +[ 1s] No DEBTRANSFORM-TAR line in the .dsc file. +[ 1s] Attempting automatic discovery of a suitable source archive. +[ 1s] Source archive chosen for transformation: chwala-0.5.tar.gz +[ 1s] No DEBTRANSFORM-FILES-TAR line in the .dsc file. +[ 1s] Attempting automatic discovery of a debian archive. +[ 1s] Debian archive chosen for transformation: debian.tar.gz +[ 1s] Hardlinking /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/chwala-0.5.tar.gz to /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES.DEB/chwala_0.5~dev20161115.orig.tar.gz +[ 1s] files e40ae73dd29bf55c6c65bc63f38698cd 2955720 chwala_0.5~dev20161115.orig.tar.gz +[ 1s] Scanning /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES.DEB/chwala_0.5~dev20161115.orig.tar.gz... +[ 1s] Generating /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES.DEB/chwala_0.5~dev20161115-0~kolab3.1.diff +[ 1s] Scanning /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/debian.tar.gz... +[ 1s] Processing file "/var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/debian.rules"... +[ 1s] Processing file "/var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/debian.control"... +[ 1s] Processing file "/var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/debian.changelog"... +[ 1s] Processing series file "/var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/debian.series"... +[ 1s] Processing patch /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/chwala-0.2-suhosin.session.encrypt-php_flag.patch... +[ 1s] Processing patch /var/tmp/build-root/Debian_8.0-x86_64/usr/src/packages/SOURCES/fix-autoload-path-debian.patch...
View file
chwala-0.5.0.tar.gz/lib/drivers/kolab/kolab_file_storage.php -> chwala-0.5.1.tar.gz/lib/drivers/kolab/kolab_file_storage.php
Changed
@@ -98,10 +98,16 @@ // Authenticate - get Roundcube user ID if ($auth['valid'] && !$auth['abort'] - && ($this->login($auth['user'], $auth['pass'], $auth['host']))) { + && ($this->login($auth['user'], $auth['pass'], $auth['host'], $err))) { return true; } + if ($err) { + $err_str = $this->rc->get_storage()->get_error_str(); + } + + kolab_auth::log_login_error($auth['user'], $err_str ?: $err); + $this->rc->plugins->exec_hook('login_failed', array( 'host' => $auth['host'], 'user' => $auth['user'], @@ -159,7 +165,7 @@ /** * Authenticates a user in IMAP */ - private function login($username, $password, $host) + private function login($username, $password, $host, &$error = null) { if (empty($username)) { return false; @@ -211,6 +217,7 @@ // authenticate user in IMAP $storage = $this->rc->get_storage(); if (!$storage->connect($host, $username, $password, $port, $ssl)) { + $error = $storage->get_error_code(); return false; }
View file
chwala-0.5.0.tar.gz/lib/file_api.php -> chwala-0.5.1.tar.gz/lib/file_api.php
Changed
@@ -345,11 +345,14 @@ { $api_url = $this->config->get('file_api_url', ''); - if (!preg_match('|^https?://|', $url)) { + if (!preg_match('|^https?://|', $api_url)) { $schema = rcube_utils::https_check() ? 'https' : 'http'; $port = $schema == 'http' ? 80 : 443; - $url = $schema . '://' . $_SERVER['SERVER_NAME']; - $url .= $_SERVER['SERVER_PORT'] != $port ? ':' . $_SERVER['SERVER_PORT'] : ''; + $url = $schema . '://' . preg_replace('/:\d+$/', '', $_SERVER['HTTP_HOST']); + + if ($_SERVER['SERVER_PORT'] != $port && $_SERVER['SERVER_PORT'] != 80) { + $url .= ':' . $_SERVER['SERVER_PORT']; + } if ($api_url) { $api_url = $url . '/' . trim($api_url, '/ ');
View file
chwala-0.5.0.tar.gz/lib/file_api_core.php -> chwala-0.5.1.tar.gz/lib/file_api_core.php
Changed
@@ -83,6 +83,7 @@ public function get_drivers($as_objects = false) { $rcube = rcube::get_instance(); + $backend = $this->get_backend(); $enabled = $rcube->config->get('fileapi_drivers'); $preconf = $rcube->config->get('fileapi_sources'); $result = array(); @@ -90,7 +91,6 @@ $iRony = defined('KOLAB_DAV_ROOT'); if (!empty($enabled)) { - $backend = $this->get_backend(); $drivers = $backend->driver_list(); foreach ($drivers as $item) { @@ -315,6 +315,9 @@ $mimetypes_c = array(); $dir = __DIR__ . '/viewers'; + // make sure Kolab backend is initialized so kolab_auth can modify config + $backend = $this->get_backend(); + if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if (preg_match('/^([a-z0-9_]+)\.php$/i', $file, $matches)) {
View file
chwala-0.5.0.tar.gz/lib/file_wopi.php -> chwala-0.5.1.tar.gz/lib/file_wopi.php
Changed
@@ -3,7 +3,7 @@ +--------------------------------------------------------------------------+ | This file is part of the Kolab File API | | | - | Copyright (C) 2012-2016, Kolab Systems AG | + | Copyright (C) 2012-2017, Kolab Systems AG | | | | This program is free software: you can redistribute it and/or modify | | it under the terms of the GNU Affero General Public License as published | @@ -30,10 +30,15 @@ protected $cache; // Mimetypes supported by CODE, but not advertised by all possible names - protected $aliases = array( + protected $mimetype_aliases = array( 'application/vnd.corel-draw' => 'image/x-coreldraw', ); + // Mimetypes supported by other Chwala viewers or ones we don't want to be editable + protected $mimetype_exceptions = array( + 'text/plain', + ); + /** * Return viewer URI for specified file/session. This creates * a new collaborative editing session when needed. @@ -60,6 +65,8 @@ $data['document_session'] = $session_id; $this->token = $this->api->session->create($data); + + $this->log_login($session_id); } return $this->frame_uri($session_id, $file_info['type']); @@ -156,7 +163,7 @@ { $cache_key = 'wopi.capabilities'; if ($result = $this->get_from_cache($cache_key)) { - return $this->apply_aliases($result); + return $this->apply_aliases_and_exceptions($result); } $office_url = rtrim($this->rc->config->get('fileapi_wopi_office'), ' /'); @@ -215,7 +222,7 @@ $this->save_in_cache($cache_key, $result); - return $this->apply_aliases($result); + return $this->apply_aliases_and_exceptions($result); } /** @@ -305,14 +312,38 @@ /** * Support more mimetypes in CODE capabilities */ - protected function apply_aliases($caps) + protected function apply_aliases_and_exceptions($caps) { - foreach ($this->aliases as $type => $alias) { + foreach ($this->mimetype_aliases as $type => $alias) { if (isset($caps[$type]) && !isset($caps[$alias])) { $caps[$alias] = $caps[$type]; } } + foreach ($this->mimetype_exceptions as $type) { + unset($caps[$type]); + } + return $caps; } + + /** + * Write login data (name, ID, IP address) to the 'userlogins' log file. + */ + protected function log_login($session_id) + { + if (!$this->api->config->get('log_logins')) { + return; + } + + $rcube = rcube::get_instance(); + $user_name = $rcube->get_user_name(); + $user_id = $rcube->get_user_id(); + + $message = sprintf('CODE access for %s (ID: %d) from %s in session %s; %s', + $user_name, $user_id, rcube_utils::remote_ip(), session_id(), $session_id); + + // log login + rcube::write_log('userlogins', $message); + } }
View file
chwala.dsc
Changed
@@ -2,7 +2,7 @@ Source: chwala Binary: chwala Architecture: all -Version: 0.5.0-0~kolab1 +Version: 0.5.1-0~kolab1 Maintainer: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Uploaders: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>, Paul Klos <kolab@klos2day.nl> Homepage: http://kolab.org/about/chwala/ @@ -11,5 +11,5 @@ Package-List: roundcubemail deb web extra Files: - 00000000000000000000000000000000 0 chwala-0.5.0.tar.gz + 00000000000000000000000000000000 0 chwala-0.5.1.tar.gz 00000000000000000000000000000000 0 debian.tar.gz
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +chwala (0.5.1-0~kolab1) unsable; urgency=low + + * Release version 0.5.1 + + -- Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabys.com> Mon, 24 Jul 2017 12:12:12 +0100 + chwala (0.5.0-0~kolab1) unsable; urgency=low * Release version 0.5.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.