Compare commits

..

40 Commits

Author SHA1 Message Date
Michael MĂĽller
4df6fee769 Add font symlink patch. 2014-07-23 01:20:57 +02:00
Erich E. Hoover
6b2cc4c58f Return correct IMediaSeeking stream positions in quartz. 2014-07-22 08:38:10 -06:00
Michael MĂĽller
a3d2b4b9e0 Fix fuzz in patches. 2014-07-20 22:36:08 +02:00
Erich E. Hoover
95bee0aa1e Fix race condition between EndOfStream and Pause. 2014-07-18 10:58:54 -06:00
Erich E. Hoover
bc6f854478 Fix possible race conditions in strmbase/quartz. 2014-07-17 10:54:33 -06:00
Erich E. Hoover
4b95841bdb Release 1.7.22. 2014-07-11 13:00:13 -06:00
Erich E. Hoover
180fa60a17 Implement passing ACLs to CreateProcess. 2014-07-11 12:57:10 -06:00
Sebastian Lackner
9d3369d7a6 gitapply.sh: Make sure that all error output is redirected to stderr, sort commandline options. 2014-07-11 00:31:33 +02:00
Sebastian Lackner
2bb1b96f06 Removed several patches (accepted upstream). 2014-07-09 21:47:48 +02:00
Erich E. Hoover
2bfe73c2b7 Updated main extended attributes patch to include BSD support. 2014-07-08 14:32:58 -06:00
Erich E. Hoover
8e2ab550d8 Updated main extended attributes patch to include additional data checks. 2014-07-08 14:32:06 -06:00
Erich E. Hoover
7f5e6044ee Reformat the display of the Wine bug number in the README. 2014-07-08 13:19:19 -06:00
Erich E. Hoover
db0464c6f2 Update repository name and description in README. 2014-07-08 12:39:31 -06:00
Sebastian Lackner
80455f2b22 Rebase patch to silence resource_check_usage FIXME. 2014-07-08 01:03:49 +02:00
Sebastian Lackner
ce40587ef4 Return NULL-terminated list of arguments in CommandLineToArgvW. 2014-07-07 23:43:30 +02:00
Sebastian Lackner
4ad4f948c3 Fix incorrect scaling for DECIMAL values in VarDecAdd. 2014-07-07 22:19:53 +02:00
Sebastian Lackner
1fbebd0a1a Add patch for implementation of wtsapi32.WTSEnumerateProcessesW. 2014-07-06 23:55:09 +02:00
Sebastian Lackner
1761c9534e Move UrlCombineW patches in a separate directory. 2014-07-06 23:47:00 +02:00
Sebastian Lackner
b500367ff7 Remove patch '0001-quartz-tests-Add-tests-for-IVMRMonitorConfig-and-IVMRM.patch'. 2014-07-06 23:40:17 +02:00
Erich E. Hoover
5721ee15c9 Removed RegSetKeySecurity patch (accepted upstream). 2014-07-04 13:18:59 -06:00
Erich E. Hoover
56264645ad Updated RegSetKeySecurity patch to work with special root keys. 2014-07-04 10:14:57 -06:00
Erich E. Hoover
113b554090 Retitle RegSetKeySecurity component (advapi -> advapi32). 2014-07-01 20:34:44 -06:00
Erich E. Hoover
24c6b554c9 Implement RegSetKeySecurity on top of NtSetSecurityObject. 2014-07-01 19:26:01 -06:00
Erich E. Hoover
b861c5731d Added NT4 support to the process ACL tests. 2014-07-01 18:32:31 -06:00
Erich E. Hoover
5d354c9b2a Release 1.7.21 2014-06-27 23:09:39 -06:00
Sebastian Lackner
e8fee88c50 Remove several patches (accepted upstream). 2014-06-22 20:40:51 +02:00
Sebastian Lackner
c2e8167d6d Release 1.7.20. 2014-06-14 19:46:09 +02:00
Sebastian Lackner
907d56238e Fix warning during compilation for unused variable. 2014-06-14 10:37:54 +02:00
Sebastian Lackner
674b998176 Add patch to fix issues with Obsidium copy protection (add missing exception in OutputDebugStringA). 2014-06-14 09:45:49 +02:00
Erich E. Hoover
882b560d0d Added patches for default security descriptor ownership and DACLs for processes. 2014-06-13 15:29:17 -06:00
Erich E. Hoover
8df335170a Updated changelog with recent changes. 2014-06-13 15:29:16 -06:00
Sebastian Lackner
2241ffdf4b Disable gstreamer (broken with glib >= 2.32.0).
See http://bugs.winehq.org/show_bug.cgi?id=30557 for more details.
2014-06-13 23:22:54 +02:00
Sebastian Lackner
dff7b6b562 Update winepulse patches to latest revision (extracted from 1.7.19). 2014-06-13 22:47:13 +02:00
Sebastian Lackner
cdb00a9e7a Update README.md. 2014-06-13 22:02:13 +02:00
Sebastian Lackner
f7541123b5 Add patch to avoid race-condition when unloading modules while hook is active. 2014-06-13 21:49:49 +02:00
Sebastian Lackner
6578707ac2 Remove several patches (accepted upstream). 2014-06-13 20:07:34 +02:00
Michael MĂĽller
719c65ebb0 Fix recommendation for odbc and add libgsm1. 2014-06-07 14:55:29 +02:00
Erich E. Hoover
ddefcb372a Force autoreconf even when timestamp seems to indicate that it is not necessary. 2014-06-05 15:38:43 -06:00
Michael MĂĽller
c594bca17a Error out in git apply script on *BSD. 2014-06-05 21:20:54 +02:00
Sebastian Lackner
3c33a592f6 Make generate-patchlist.sh compatible with FreeBSD. 2014-06-05 22:17:55 +02:00
79 changed files with 2139 additions and 849 deletions

View File

@@ -1,18 +1,23 @@
wine-compholio-daily
====================
wine-compholio
==============
Daily updates for the Wine "Compholio" Edition.
The Wine "Compholio" Edition repository includes a variety of patches for Wine to run common Windows applications under Linux.
Current patches include:
* Support for interface change notifications (http://bugs.winehq.org/show_bug.cgi?id=32328)
* Support for stored file ACLs (http://bugs.winehq.org/show_bug.cgi?id=31858)
* Support for inherited file ACLs (http://bugs.winehq.org/show_bug.cgi?id=34406)
* Support for Junction Points (http://bugs.winehq.org/show_bug.cgi?id=12401)
* Support for TransmitFile (http://bugs.winehq.org/show_bug.cgi?id=5048)
* Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328))
* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858))
* Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406))
* Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401))
* Support for TransmitFile ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048))
* Support for GetVolumePathName
* Implement an Arial replacement font (http://bugs.winehq.org/show_bug.cgi?id=32323)
* Workaround for TransactNamedPipe not being supported (http://bugs.winehq.org/show_bug.cgi?id=17273)
* Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323))
* Workaround for TransactNamedPipe not being supported ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273))
* Fix incorrect scaling for DECIMAL values in VarDecAdd ([Wine Bug #31269](http://bugs.winehq.org/show_bug.cgi?id=31269))
* Return NULL-terminated list of arguments in CommandLineToArgvW ([Wine Bug #22829](http://bugs.winehq.org/show_bug.cgi?id=22829))
* XEMBED support for embedding Wine windows inside Linux applications
* Reduced SetTimer minimum value from 15 ms to 5 ms (improves Silverlight framerates)
* Lockfree algorithm for filedescriptor cache (improves file access speed)
* Workaround for shlwapi URLs with relative paths
* Support for PulseAudio backend for audio
* Other Pipelight specific enhancements

35
debian/changelog vendored
View File

@@ -1,3 +1,38 @@
wine-compholio (1.7.23) UNRELEASED; urgency=low
* Fix possible race conditions in strmbase/quartz.
* Fix race condition between EndOfStream and Pause.
* Return correct IMediaSeeking stream positions in quartz.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Tue, 22 Jul 2014 08:37:27 -0600
wine-compholio (1.7.22) unstable; urgency=low
* Implement passing ACLs to CreateProcess.
* Removed several patches (accepted upstream).
* Added NT4 support to the process ACL tests.
* Implement RegSetKeySecurity on top of NtSetSecurityObject.
* Updated RegSetKeySecurity patch to work with special root keys.
* Add patch for wtsapi32.WTSEnumerateProcessesW function.
* Fix incorrect scaling for DECIMAL values in VarDecAdd.
* Updated main extended attributes patch to include BSD support.
* Return NULL-terminated list of arguments in CommandLineToArgvW.
* Updated main extended attributes patch to include additional data checks.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 11 Jul 2014 13:00:03 -0600
wine-compholio (1.7.21) unstable; urgency=low
* Remove several patches (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Fri, 27 Jun 2014 23:08:48 -0600
wine-compholio (1.7.20) unstable; urgency=low
* Remove several patches (accepted upstream).
* Fix recommendation for odbc and add libgsm1.
* Disabled gstreamer (broken with glib >= 2.32.0).
* Updated scripts to be compatible with BSD systems.
* Update winepulse patches to latest revision (extracted from 1.7.19).
* Force autoreconf even when timestamp seems to indicate that it is not necessary.
* Added patches for default security descriptor ownership and DACLs for processes.
* Added a patch to avoid a race-condition when unloading modules while a hook is active.
* Add patch to fix issues with Obsidium copy protection.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Sat, 14 Jun 2014 18:15:12 +0200
wine-compholio (1.7.19-1) unstable; urgency=low
* Added a patch to fix return value for FSCTL_PIPE_WAIT (required for Unity3D).
* Added a patch to stub TokenAppContainerSid in NtQueryInformationToken (required for Unity3D).

8
debian/control vendored
View File

@@ -32,8 +32,6 @@ Build-Depends: autotools-dev,
libgnutls-dev,
libgphoto2-dev | libgphoto2-6-dev | libgphoto2-2-dev (>= 2.4.6),
libgsm1-dev,
libgstreamer-plugins-base0.10-dev,
libgstreamer0.10-dev,
libice-dev,
libjpeg-dev,
liblcms2-dev | ubuntu-desktop (<< 1.267),
@@ -102,7 +100,8 @@ Recommends: libcapi20-3,
libxslt1.1,
libxt6,
libxxf86vm1,
unixodbc
libodbc1,
libgsm1
Section: otherosfs
Priority: optional
Replaces: wine-compholio (<< 1.7.15-1~)
@@ -159,7 +158,8 @@ Recommends: libcapi20-3,
libxslt1.1,
libxt6,
libxxf86vm1,
unixodbc
libodbc1,
libgsm1
Section: otherosfs
Priority: optional
Replaces: wine-compholio (<< 1.7.15-1~)

4
debian/rules vendored
View File

@@ -16,9 +16,9 @@ override_dh_auto_configure:
make -C "$(CURDIR)/patches/" DESTDIR="$(CURDIR)" install
ifeq ($(DEB_BUILD_ARCH), amd64)
./configure --prefix=/opt/wine-compholio --libdir=\$${prefix}/lib64 --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-win64 --with-xattr $(CONFFLAGS)
./configure --prefix=/opt/wine-compholio --libdir=\$${prefix}/lib64 --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-win64 --without-gstreamer --with-xattr $(CONFFLAGS)
else
./configure --prefix=/opt/wine-compholio --libdir=\$${prefix}/lib --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-xattr $(CONFFLAGS)
./configure --prefix=/opt/wine-compholio --libdir=\$${prefix}/lib --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --without-gstreamer --with-xattr $(CONFFLAGS)
endif
override_dh_auto_test:

View File

@@ -18,10 +18,8 @@ done
PATCH_LINES=$(echo "${PATCH_DATA}" | wc -l);
PATCH_LINES=$((${PATCH_LINES}+20));
PATCH_DATA=$(echo "${PATCH_DATA}" | sed ':a;N;$!ba;s/\n/\\n/g');
cat <<EOF | sed -e "s|##PATCH_LINES##|${PATCH_LINES}|" \
-e "s|##PATCH_DATA##|${PATCH_DATA}|"
cat <<EOF
From: "FDS-Team" <webmaster@fds-team.de>
Subject: Autogenerated patch list.
@@ -30,7 +28,7 @@ diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5fa0cd5 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,##PATCH_LINES## @@ const char *wine_get_version(void)
@@ -478,6 +478,${PATCH_LINES} @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
@@ -39,7 +37,7 @@ index a273502..5fa0cd5 100644
+ const char *author;
+ const char *title;
+} wine_patch_data[] = {
##PATCH_DATA##
${PATCH_DATA}
+ { NULL, NULL, NULL }
+};
+

View File

@@ -31,7 +31,7 @@ warning()
usage()
{
echo ""
echo "Usage: ./gitapply [-v] [-d DIRECTORY]"
echo "Usage: ./gitapply [--nogit] [-v] [-d DIRECTORY]"
echo ""
echo "Reads patch data from stdin and applies the patch to the current"
echo "directory or the directory given via commandline."
@@ -46,6 +46,14 @@ while [[ $# > 0 ]]; do
cmd="$1"; shift
case "$cmd" in
--nogit)
nogit=1
;;
-v)
verbose=1
;;
--directory=*)
cd "${cmd#*=}"
;;
@@ -57,14 +65,6 @@ while [[ $# > 0 ]]; do
abort "Reverse applying patches not supported yet with this patch tool."
;;
-v)
verbose=1
;;
--nogit)
nogit=1
;;
--help)
usage
exit 0
@@ -82,6 +82,12 @@ if [ "$nogit" -eq 0 ] && command -v git >/dev/null 2>&1; then
exit 1
fi
if gzip -V 2>&1 | grep "BSD" &> /dev/null; then
echo "This script is not compatible with *BSD utilities." >&2
echo "Please install git, which provides the same functionality and will be used instead." >&2
exit 1;
fi
# Decode base85 git data, prepend with a gzip header
awk_b85='
BEGIN{
@@ -327,8 +333,8 @@ while IFS= read -r line; do
sha="0000000000000000000000000000000000000000"
fi
if [ "$patch_oldsha1" != "$sha" ]; then
echo "$lineno: Expected $patch_oldsha1"
echo "$lineno: Got $sha"
echo "$lineno: Expected $patch_oldsha1" >&2
echo "$lineno: Got $sha" >&2
abort "Unable to continue because of sha1 mismatch of original file."
fi
fi
@@ -428,8 +434,8 @@ while IFS= read -r line; do
# Check shasum if its not a patch creating a new file
sha=$(echo -en "blob $(du -b "$patch_tmpfile" | cut -f1)\x00" | cat - "$patch_tmpfile" | sha1sum | cut -d' ' -f1)
if [ "$patch_newsha1" != "$sha" ]; then
echo "$lineno: Expected $patch_newsha1"
echo "$lineno: Got $sha"
echo "$lineno: Expected $patch_newsha1" >&2
echo "$lineno: Got $sha" >&2
abort "Unable to continue because of sha1 mismatch after applying the patch."
fi

View File

@@ -1,4 +1,4 @@
From 4ae376bebffe60ef378e08528d50c1e5723be739 Mon Sep 17 00:00:00 2001
From a424efd08ebe4a247b4a3b874137faadb7f59266 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 18 Apr 2014 15:34:47 -0600
Subject: server: Store file security attributes with extended file
@@ -6,11 +6,11 @@ Subject: server: Store file security attributes with extended file
---
configure.ac | 12 ++++++++++++
server/file.c | 31 +++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+)
server/file.c | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+)
diff --git a/configure.ac b/configure.ac
index 46602d6..99fcb9b 100644
index c913f9f..2d5d5ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,6 +73,7 @@ AC_ARG_WITH(pthread, AS_HELP_STRING([--without-pthread],[do not use the pthrea
@@ -27,7 +27,7 @@ index 46602d6..99fcb9b 100644
+if test "x$with_xattr" != "xno"
+then
+ AC_CHECK_HEADERS(attr/xattr.h,HAVE_XATTR=1)
+ AC_CHECK_HEADERS(attr/xattr.h sys/extattr.h,HAVE_XATTR=1)
+fi
+if test "x$with_xattr" == "xyes"
+then
@@ -40,7 +40,7 @@ index 46602d6..99fcb9b 100644
AC_SUBST(dlldir,"\${libdir}/wine")
diff --git a/server/file.c b/server/file.c
index 1f008ea..ceb57be 100644
index 1f008ea..951e25b 100644
--- a/server/file.c
+++ b/server/file.c
@@ -32,6 +32,7 @@
@@ -51,23 +51,27 @@ index 1f008ea..ceb57be 100644
#include <unistd.h>
#ifdef HAVE_UTIME_H
#include <utime.h>
@@ -39,6 +40,9 @@
@@ -39,6 +40,13 @@
#ifdef HAVE_POLL_H
#include <poll.h>
#endif
+#ifdef HAVE_ATTR_XATTR_H
+#include <attr/xattr.h>
+#endif
+#ifdef HAVE_SYS_EXTATTR_H
+#include <sys/extattr.h>
+#define XATTR_SIZE_MAX 65536
+#endif
#include "ntstatus.h"
#define WIN32_NO_STATUS
@@ -178,6 +182,30 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_
@@ -178,6 +186,34 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_
return &file->obj;
}
+void set_xattr_sd( int fd, const struct security_descriptor *sd )
+{
+#ifdef HAVE_ATTR_XATTR_H
+#if defined(HAVE_ATTR_XATTR_H) || defined(HAVE_SYS_EXTATTR_H)
+ char buffer[XATTR_SIZE_MAX];
+ int present, len;
+ const ACL *dacl;
@@ -85,14 +89,18 @@ index 1f008ea..ceb57be 100644
+ buffer[0] = SECURITY_DESCRIPTOR_REVISION;
+ buffer[1] = 0;
+ memcpy( &buffer[2], sd, len - 2 );
+#if defined(HAVE_ATTR_XATTR_H)
+ fsetxattr( fd, "user.wine.sd", buffer, len, 0 );
+#else
+ extattr_set_fd( fd, EXTATTR_NAMESPACE_USER, "wine.sd", buffer, len );
+#endif
+#endif
+}
+
static struct object *create_file( struct fd *root, const char *nameptr, data_size_t len,
unsigned int access, unsigned int sharing, int create,
unsigned int options, unsigned int attrs,
@@ -239,6 +267,7 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
@@ -239,6 +275,7 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
/* FIXME: should set error to STATUS_OBJECT_NAME_COLLISION if file existed before */
fd = open_fd( root, name, flags | O_NONBLOCK | O_LARGEFILE, &mode, access, sharing, options );
if (!fd) goto done;
@@ -100,7 +108,7 @@ index 1f008ea..ceb57be 100644
if (S_ISDIR(mode))
obj = create_dir_obj( fd, access, mode );
@@ -580,6 +609,8 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
@@ -580,6 +617,8 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX);
mode |= sd_to_mode( sd, owner );

View File

@@ -1,4 +1,4 @@
From ea0c98e71750a0a55273c8cfb4a9c8931d3cf510 Mon Sep 17 00:00:00 2001
From 9b59ad02610a11d39ee8338404fd26021e0458c6 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 18 Apr 2014 15:35:24 -0600
Subject: server: Store user and group inside stored extended file attribute
@@ -9,17 +9,17 @@ Subject: server: Store user and group inside stored extended file attribute
1 file changed, 70 insertions(+), 9 deletions(-)
diff --git a/server/file.c b/server/file.c
index ceb57be..b9106a8 100644
index 951e25b..6981fca 100644
--- a/server/file.c
+++ b/server/file.c
@@ -182,11 +182,12 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_
@@ -186,11 +186,12 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_
return &file->obj;
}
-void set_xattr_sd( int fd, const struct security_descriptor *sd )
+void set_xattr_sd( int fd, const struct security_descriptor *sd, const SID *user, const SID *group )
{
#ifdef HAVE_ATTR_XATTR_H
#if defined(HAVE_ATTR_XATTR_H) || defined(HAVE_SYS_EXTATTR_H)
- char buffer[XATTR_SIZE_MAX];
- int present, len;
+ char buffer[XATTR_SIZE_MAX], *dst_ptr = &buffer[2], *src_ptr = (char *)sd;
@@ -28,7 +28,7 @@ index ceb57be..b9106a8 100644
const ACL *dacl;
/* there's no point in storing the security descriptor if there's no DACL */
@@ -194,14 +195,52 @@ void set_xattr_sd( int fd, const struct security_descriptor *sd )
@@ -198,14 +199,52 @@ void set_xattr_sd( int fd, const struct security_descriptor *sd )
dacl = sd_get_dacl( sd, &present );
if (!present || !dacl) return;
@@ -80,10 +80,10 @@ index ceb57be..b9106a8 100644
+ memcpy( dst_ptr, src_ptr, sd->dacl_len );
+ src_ptr += sd->dacl_len;
+ dst_ptr += sd->dacl_len;
#if defined(HAVE_ATTR_XATTR_H)
fsetxattr( fd, "user.wine.sd", buffer, len, 0 );
#endif
}
@@ -211,6 +250,7 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
#else
@@ -219,6 +258,7 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
unsigned int options, unsigned int attrs,
const struct security_descriptor *sd )
{
@@ -91,7 +91,7 @@ index ceb57be..b9106a8 100644
struct object *obj = NULL;
struct fd *fd;
int flags;
@@ -241,9 +281,12 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
@@ -249,9 +289,12 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
if (sd)
{
@@ -105,7 +105,7 @@ index ceb57be..b9106a8 100644
mode = sd_to_mode( sd, owner );
}
else if (options & FILE_DIRECTORY_FILE)
@@ -267,7 +310,7 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
@@ -275,7 +318,7 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si
/* FIXME: should set error to STATUS_OBJECT_NAME_COLLISION if file existed before */
fd = open_fd( root, name, flags | O_NONBLOCK | O_LARGEFILE, &mode, access, sharing, options );
if (!fd) goto done;
@@ -114,7 +114,7 @@ index ceb57be..b9106a8 100644
if (S_ISDIR(mode))
obj = create_dir_obj( fd, access, mode );
@@ -577,7 +620,7 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
@@ -585,7 +628,7 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
unsigned int set_info )
{
int unix_fd = get_unix_fd( fd );
@@ -123,7 +123,7 @@ index ceb57be..b9106a8 100644
struct stat st;
mode_t mode;
@@ -601,6 +644,24 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
@@ -609,6 +652,24 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
else
owner = token_get_user( current->process->token );
@@ -148,7 +148,7 @@ index ceb57be..b9106a8 100644
/* group and sacl not supported */
if (set_info & DACL_SECURITY_INFORMATION)
@@ -609,7 +670,7 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
@@ -617,7 +678,7 @@ int set_file_sd( struct object *obj, struct fd *fd, const struct security_descri
mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX);
mode |= sd_to_mode( sd, owner );

View File

@@ -1,4 +1,4 @@
From 4498c57f61bf85fca6eb17afd21c0c7051534f75 Mon Sep 17 00:00:00 2001
From 0fea62714c3bdf5384f2f47c1985c21470710cfd Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 18 Apr 2014 14:01:35 -0600
Subject: server: Retrieve file security attributes with extended file
@@ -7,14 +7,14 @@ Subject: server: Retrieve file security attributes with extended file
---
dlls/advapi32/tests/security.c | 49 ++++++++++++++++++++--------------------
server/change.c | 2 +-
server/file.c | 28 ++++++++++++++++++++---
3 files changed, 50 insertions(+), 29 deletions(-)
server/file.c | 38 ++++++++++++++++++++++++++++---
3 files changed, 60 insertions(+), 29 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index a0574c4..26cde37 100644
index f3ccc8e..4352ba6 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -3105,24 +3105,24 @@ static void test_CreateDirectoryA(void)
@@ -3131,24 +3131,24 @@ static void test_CreateDirectoryA(void)
bret = pGetAce(pDacl, 0, (VOID **)&ace);
ok(bret, "Failed to get Current User ACE.\n");
bret = EqualSid(&ace->SidStart, user_sid);
@@ -51,7 +51,7 @@ index a0574c4..26cde37 100644
}
LocalFree(pSD);
@@ -3297,23 +3297,22 @@ static void test_GetNamedSecurityInfoA(void)
@@ -3323,23 +3323,22 @@ static void test_GetNamedSecurityInfoA(void)
bret = pGetAce(pDacl, 0, (VOID **)&ace);
ok(bret, "Failed to get Current User ACE.\n");
bret = EqualSid(&ace->SidStart, user_sid);
@@ -81,7 +81,7 @@ index a0574c4..26cde37 100644
}
LocalFree(pSD);
HeapFree(GetProcessHeap(), 0, user);
@@ -3963,22 +3962,22 @@ static void test_GetSecurityInfo(void)
@@ -3989,22 +3988,22 @@ static void test_GetSecurityInfo(void)
bret = pGetAce(pDacl, 0, (VOID **)&ace);
ok(bret, "Failed to get Current User ACE.\n");
bret = EqualSid(&ace->SidStart, user_sid);
@@ -111,10 +111,10 @@ index a0574c4..26cde37 100644
LocalFree(pSD);
CloseHandle(obj);
diff --git a/server/change.c b/server/change.c
index c391180..77c01bb 100644
index c673c48..27dbe25 100644
--- a/server/change.c
+++ b/server/change.c
@@ -287,7 +287,7 @@ static struct security_descriptor *dir_get_sd( struct object *obj )
@@ -290,7 +290,7 @@ static struct security_descriptor *dir_get_sd( struct object *obj )
assert( obj->ops == &dir_ops );
fd = dir_get_fd( obj );
@@ -124,27 +124,37 @@ index c391180..77c01bb 100644
return sd;
}
diff --git a/server/file.c b/server/file.c
index b9106a8..c4706b6 100644
index 6981fca..26962df 100644
--- a/server/file.c
+++ b/server/file.c
@@ -496,12 +496,33 @@ struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID
@@ -504,12 +504,43 @@ struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID
return sd;
}
+struct security_descriptor *get_xattr_sd( int fd )
+{
+#ifdef HAVE_ATTR_XATTR_H
+#if defined(HAVE_ATTR_XATTR_H) || defined(HAVE_SYS_EXTATTR_H)
+ struct security_descriptor *sd;
+ char buffer[XATTR_SIZE_MAX];
+ int n;
+
+#if defined(HAVE_ATTR_XATTR_H)
+ n = fgetxattr( fd, "user.wine.sd", buffer, sizeof(buffer) );
+ if (n == -1) return NULL;
+#else
+ n = extattr_get_fd( fd, EXTATTR_NAMESPACE_USER, "wine.sd", buffer, sizeof(buffer) );
+#endif
+ if (n == -1 || n < 2 + sizeof(struct security_descriptor)) return NULL;
+
+ /* validate that we can handle the descriptor */
+ if (buffer[0] != SECURITY_DESCRIPTOR_REVISION || buffer[1] != 0) return NULL;
+
+ sd = (struct security_descriptor *)&buffer[2];
+ if (n < 2 + sizeof(struct security_descriptor) + sd->owner_len
+ + sd->group_len + sd->sacl_len + sd->dacl_len)
+ return NULL;
+
+ sd = mem_alloc( n - 2 );
+ memcpy( sd, &buffer[2], n - 2 );
+ if (sd) memcpy( sd, &buffer[2], n - 2 );
+ return sd;
+#else
+ return NULL;
@@ -161,7 +171,7 @@ index b9106a8..c4706b6 100644
if (unix_fd == -1 || fstat( unix_fd, &st ) == -1)
return obj->sd;
@@ -511,9 +532,10 @@ struct security_descriptor *get_file_sd( struct object *obj, struct fd *fd, mode
@@ -519,9 +550,10 @@ struct security_descriptor *get_file_sd( struct object *obj, struct fd *fd, mode
(st.st_uid == *uid))
return obj->sd;

View File

@@ -1,38 +0,0 @@
From 8abcd1aac3f65585dfb2e761dd737c0609cd5f93 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 1 Jun 2014 23:46:09 +0200
Subject: server: Add additional checks in get_xattr_sd to prevent crashes
caused by invalid attributes.
---
server/file.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/server/file.c b/server/file.c
index 08231a7..11522c3 100644
--- a/server/file.c
+++ b/server/file.c
@@ -738,12 +738,18 @@ struct security_descriptor *get_xattr_sd( int fd )
int n;
n = fgetxattr( fd, "user.wine.sd", buffer, sizeof(buffer) );
- if (n == -1) return NULL;
+ if (n == -1 || n < 2 + sizeof(struct security_descriptor)) return NULL;
+
/* validate that we can handle the descriptor */
if (buffer[0] != SECURITY_DESCRIPTOR_REVISION || buffer[1] != 0) return NULL;
+ sd = (struct security_descriptor *)&buffer[2];
+ if (n < 2 + sizeof(struct security_descriptor) + sd->owner_len
+ + sd->group_len + sd->sacl_len + sd->dacl_len)
+ return NULL;
+
sd = mem_alloc( n - 2 );
- memcpy( sd, &buffer[2], n - 2 );
+ if (sd) memcpy( sd, &buffer[2], n - 2 );
return sd;
#else
return NULL;
--
1.7.9.5

View File

@@ -1,80 +0,0 @@
From 682e63875f4ae2f58da1677ff44cf1adea35e7d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 1 Jun 2014 22:06:35 +0200
Subject: server: Add support for ACLs/xattr on FreeBSD
---
configure.ac | 2 +-
server/file.c | 16 ++++++++++++++--
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0663893..c1ea0c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -668,7 +668,7 @@ AC_CHECK_HEADERS([libprocstat.h],,,
if test "x$with_xattr" != "xno"
then
- AC_CHECK_HEADERS(attr/xattr.h,HAVE_XATTR=1)
+ AC_CHECK_HEADERS(attr/xattr.h sys/extattr.h,HAVE_XATTR=1)
fi
if test "x$with_xattr" == "xyes"
then
diff --git a/server/file.c b/server/file.c
index d5d5ad4..5a4d2f4 100644
--- a/server/file.c
+++ b/server/file.c
@@ -43,6 +43,10 @@
#ifdef HAVE_ATTR_XATTR_H
#include <attr/xattr.h>
#endif
+#ifdef HAVE_SYS_EXTATTR_H
+#include <sys/extattr.h>
+#define XATTR_SIZE_MAX 65536
+#endif
#include "ntstatus.h"
#define WIN32_NO_STATUS
@@ -184,7 +188,7 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_
void set_xattr_sd( int fd, const struct security_descriptor *sd, const SID *user, const SID *group )
{
-#ifdef HAVE_ATTR_XATTR_H
+#if defined(HAVE_ATTR_XATTR_H) || defined(HAVE_SYS_EXTATTR_H)
char buffer[XATTR_SIZE_MAX], *dst_ptr = &buffer[2], *src_ptr = (char *)sd;
int present, len, owner_len, group_len;
struct security_descriptor *dst_sd;
@@ -241,7 +245,11 @@ void set_xattr_sd( int fd, const struct security_descriptor *sd, const SID *user
memcpy( dst_ptr, src_ptr, sd->dacl_len );
src_ptr += sd->dacl_len;
dst_ptr += sd->dacl_len;
+#if defined(HAVE_ATTR_XATTR_H)
fsetxattr( fd, "user.wine.sd", buffer, len, 0 );
+#else
+ extattr_set_fd( fd, EXTATTR_NAMESPACE_USER, "wine.sd", buffer, len );
+#endif
#endif
}
@@ -732,12 +740,16 @@ struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID
struct security_descriptor *get_xattr_sd( int fd )
{
-#ifdef HAVE_ATTR_XATTR_H
+#if defined(HAVE_ATTR_XATTR_H) || defined(HAVE_SYS_EXTATTR_H)
struct security_descriptor *sd;
char buffer[XATTR_SIZE_MAX];
int n;
+#if defined(HAVE_ATTR_XATTR_H)
n = fgetxattr( fd, "user.wine.sd", buffer, sizeof(buffer) );
+#else
+ n = extattr_get_fd( fd, EXTATTR_NAMESPACE_USER, "wine.sd", buffer, sizeof(buffer) );
+#endif
if (n == -1 || n < 2 + sizeof(struct security_descriptor)) return NULL;
/* validate that we can handle the descriptor */
--
1.7.9.5

View File

@@ -1,43 +0,0 @@
From 453924c0861d4d1844f8b48c05dba3b2cf49b4ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 31 May 2014 02:44:36 +0200
Subject: server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist
---
dlls/kernel32/tests/pipe.c | 6 ++++++
server/named_pipe.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index b192f96..f7c7531 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -60,6 +60,12 @@ static void test_CreateNamedPipe(int pipemode)
trace("test_CreateNamedPipe starting in byte mode\n");
else
trace("test_CreateNamedPipe starting in message mode\n");
+
+ /* Wait for non existing pipe */
+ ret = WaitNamedPipeA(PIPENAME, 2000);
+ ok(ret == 0, "WaitNamedPipe returned %d for non existing pipe\n", ret);
+ ok(GetLastError() == ERROR_FILE_NOT_FOUND, "wrong error %u\n", GetLastError());
+
/* Bad parameter checks */
hnp = CreateNamedPipeA("not a named pipe", PIPE_ACCESS_DUPLEX, pipemode | PIPE_WAIT,
/* nMaxInstances */ 1,
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 6ba2145..c9be0c2 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -887,7 +887,7 @@ static obj_handle_t named_pipe_device_ioctl( struct fd *fd, ioctl_code_t code, c
name.len = (buffer->NameLength / sizeof(WCHAR)) * sizeof(WCHAR);
if (!(pipe = (struct named_pipe *)find_object( device->pipes, &name, OBJ_CASE_INSENSITIVE )))
{
- set_error( STATUS_PIPE_NOT_AVAILABLE );
+ set_error( STATUS_OBJECT_NAME_NOT_FOUND );
return 0;
}
if (!(server = find_available_server( pipe )))
--
1.8.3.2

View File

@@ -1,4 +0,0 @@
Revision: 1
Author: Michael MĂĽller
Title: Fix return value of WaitNamedPipe if pipe does not exist.

View File

@@ -1,6 +1,6 @@
From 3822f907cd790b0405d2bad772a8240d559aa0aa Mon Sep 17 00:00:00 2001
From 8cb75a25d71c1ea659ce69fa74f725cd9b9a64f0 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:53 +0100
Subject: [PATCH 08/42] winmm: Load winealsa if winepulse is found
Fixes midi on winepulse

View File

@@ -1,28 +1,28 @@
From ddd8b17270df0d8ba557d15e1c9425cab8c7fe12 Mon Sep 17 00:00:00 2001
From dac832bfc418de315808a109ab9adba0c5936be5 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:53 +0100
Subject: [PATCH 09/42] winepulse: Add initial stub for pulseaudio support
---
Just the basic of initialization and pulseaudio mainloop support is
added here.
---
configure | 97 +++++++++++-
configure.ac | 31 +++-
configure | 99 +++++++++++-
configure.ac | 32 +++-
dlls/mmdevapi/main.c | 2 +-
dlls/winepulse.drv/Makefile.in | 7 +
dlls/winepulse.drv/mmdevdrv.c | 290 ++++++++++++++++++++++++++++++++++
dlls/winepulse.drv/winepulse.drv.spec | 5 +
6 files changed, 427 insertions(+), 5 deletions(-)
6 files changed, 430 insertions(+), 5 deletions(-)
create mode 100644 dlls/winepulse.drv/Makefile.in
create mode 100644 dlls/winepulse.drv/mmdevdrv.c
create mode 100644 dlls/winepulse.drv/winepulse.drv.spec
diff --git a/configure b/configure
index b4dfb47..c8f9168 100755
index 246b888..d9f6ddd 100755
--- a/configure
+++ b/configure
@@ -653,6 +633,8 @@ OSS4_CFLAGS
@@ -653,6 +653,8 @@ OSS4_CFLAGS
ALSA_LIBS
GSTREAMER_LIBS
GSTREAMER_CFLAGS
@@ -31,7 +31,7 @@ index b4dfb47..c8f9168 100755
GETTEXTPO_LIBS
Z_LIBS
FREETYPE_LIBS
@@ -830,6 +832,7 @@ with_osmesa
@@ -824,6 +826,7 @@ with_osmesa
with_oss
with_png
with_pthread
@@ -39,7 +39,15 @@ index b4dfb47..c8f9168 100755
with_sane
with_tiff
with_v4l
@@ -2044,6 +2047,7 @@ Optional Packages:
@@ -1253,6 +1256,7 @@ enable_winemapi
enable_winemp3_acm
enable_wineoss_drv
enable_wineps_drv
+enable_winepulse_drv
enable_wineqtdecoder
enable_winex11_drv
enable_wing32
@@ -2079,6 +2083,7 @@ Optional Packages:
--without-oss do not use the OSS sound support
--without-png do not use PNG
--without-pthread do not use the pthread library
@@ -47,7 +55,7 @@ index b4dfb47..c8f9168 100755
--without-sane do not use SANE (scanner support)
--without-tiff do not use TIFF
--without-v4l do not use v4l1 (v4l support)
@@ -3281,6 +3285,12 @@ if test "${with_pthread+set}" = set; then :
@@ -3320,6 +3325,12 @@ if test "${with_pthread+set}" = set; then :
fi
@@ -60,7 +68,7 @@ index b4dfb47..c8f9168 100755
# Check whether --with-sane was given.
if test "${with_sane+set}" = set; then :
withval=$with_sane;
@@ -12095,6 +12105,87 @@ esac
@@ -12083,6 +12094,87 @@ esac
fi
fi
@@ -148,7 +156,7 @@ index b4dfb47..c8f9168 100755
if test "x$with_gstreamer" != "xno"
then
if ${GSTREAMER_CFLAGS:+false} :; then :
@@ -13394,12 +13473,13 @@ fi
@@ -13394,12 +13486,14 @@ fi
test -n "$ALSA_LIBS" || enable_winealsa_drv=${enable_winealsa_drv:-no}
test -n "$COREAUDIO_LIBS" || enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no}
@@ -157,6 +165,7 @@ index b4dfb47..c8f9168 100755
test "$ac_cv_header_linux_joystick_h" = "yes" || enable_winejoystick_drv=${enable_winejoystick_drv:-no}
-if test "x$ALSA_LIBS$COREAUDIO_LIBS" = "x" -a \
+if test "x$ALSA_LIBS$COREAUDIO_LIBS$PULSELIBS" = "x" -a \
+if test "x$ALSALIBS$COREAUDIO$PULSELIBS" = "x" -a \
"x$ac_cv_member_oss_sysinfo_numaudioengines" != xyes -a \
- "x$with_alsa$with_coreaudio$with_oss" != xnonono
@@ -164,7 +173,7 @@ index b4dfb47..c8f9168 100755
then
as_fn_append wine_warnings "|No sound system was found. Windows applications will be silent."
fi
@@ -17130,6 +17222,7 @@ wine_fn_config_dll winemp3.acm enable_winemp3_acm
@@ -17203,6 +17297,7 @@ wine_fn_config_dll winemp3.acm enable_winemp3_acm
wine_fn_config_dll wineoss.drv enable_wineoss_drv
wine_fn_config_dll wineps.drv enable_wineps_drv clean,po
wine_fn_config_dll wineps16.drv16 enable_win16
@@ -173,7 +182,7 @@ index b4dfb47..c8f9168 100755
wine_fn_config_dll winex11.drv enable_winex11_drv
wine_fn_config_dll wing.dll16 enable_win16
diff --git a/configure.ac b/configure.ac
index 3c1101c..cf2cb7f 100644
index de807d2..ec3db46 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,6 +70,7 @@ AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],[do not use the OSS sound
@@ -184,7 +193,7 @@ index 3c1101c..cf2cb7f 100644
AC_ARG_WITH(sane, AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)]))
AC_ARG_WITH(tiff, AS_HELP_STRING([--without-tiff],[do not use TIFF]))
AC_ARG_WITH(v4l, AS_HELP_STRING([--without-v4l],[do not use v4l1 (v4l support)]))
@@ -1522,6 +1523,30 @@ then
@@ -1512,6 +1513,30 @@ then
[GetText ${notice_platform}development files not found (or too old), po files can't be rebuilt.])
fi
@@ -215,7 +224,7 @@ index 3c1101c..cf2cb7f 100644
dnl **** Check for gstreamer ****
if test "x$with_gstreamer" != "xno"
then
@@ -1730,13 +1755,14 @@ fi
@@ -1730,13 +1755,15 @@ fi
dnl **** Disable unsupported winmm drivers ****
test -n "$ALSA_LIBS" || enable_winealsa_drv=${enable_winealsa_drv:-no}
test -n "$COREAUDIO_LIBS" || enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no}
@@ -225,6 +234,7 @@ index 3c1101c..cf2cb7f 100644
dnl **** Check for any sound system ****
-if test "x$ALSA_LIBS$COREAUDIO_LIBS" = "x" -a \
+if test "x$ALSA_LIBS$COREAUDIO_LIBS$PULSELIBS" = "x" -a \
+if test "x$ALSALIBS$COREAUDIO$PULSELIBS" = "x" -a \
"x$ac_cv_member_oss_sysinfo_numaudioengines" != xyes -a \
- "x$with_alsa$with_coreaudio$with_oss" != xnonono
@@ -232,7 +242,7 @@ index 3c1101c..cf2cb7f 100644
then
WINE_WARNING([No sound system was found. Windows applications will be silent.])
fi
@@ -3184,6 +3210,7 @@ WINE_CONFIG_DLL(winemp3.acm)
@@ -3217,6 +3244,7 @@ WINE_CONFIG_DLL(winemp3.acm)
WINE_CONFIG_DLL(wineoss.drv)
WINE_CONFIG_DLL(wineps.drv,,[clean,po])
WINE_CONFIG_DLL(wineps16.drv16,enable_win16)
@@ -255,13 +265,13 @@ index 447813f..b9ae99e 100644
DriverFuncs driver;
diff --git a/dlls/winepulse.drv/Makefile.in b/dlls/winepulse.drv/Makefile.in
new file mode 100644
index 0000000..ae66542
index 0000000..158bbc0
--- /dev/null
+++ b/dlls/winepulse.drv/Makefile.in
@@ -0,0 +1,7 @@
+MODULE = winepulse.drv
+IMPORTS = dxguid uuid winmm user32 advapi32 ole32
+EXTRALIBS = @PULSELIBS@ @PTHREAD_LIBS@
+EXTRALIBS = @PULSELIBS@ $(PTHREAD_LIBS)
+EXTRAINCL = @PULSEINCL@
+
+C_SRCS = \

View File

@@ -1,6 +1,6 @@
From 04a80af2cccad7e15b49dd1dd6c04fe2e00da2e9 Mon Sep 17 00:00:00 2001
From ac6de861806e5692fa004cb2c449feba95287323 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:53 +0100
Subject: [PATCH 10/42] winepulse: Add format and period probing
---

View File

@@ -1,6 +1,6 @@
From faac72c2c84e0a156e3c7def10b945b4a45f01f6 Mon Sep 17 00:00:00 2001
From 54c37abb982df8e5aefccfe2add2a05fa5707db8 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:53 +0100
Subject: [PATCH 11/42] winepulse: Add audioclient
---

View File

@@ -1,6 +1,6 @@
From d8b1b43529fa98eb0a04d1616f1b98d264d2018b Mon Sep 17 00:00:00 2001
From 4191de925518baace7ad4c13a0c72750a91f1abd Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:54 +0100
Subject: [PATCH 12/42] winepulse: Add IAudioRenderClient and
IAudioCaptureClient

View File

@@ -1,6 +1,6 @@
From 96b254276b471a85c6705b0043894bed308118f1 Mon Sep 17 00:00:00 2001
From 2e3b7073ee776ecbd5b186d8f146e80ef30775b8 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:54 +0100
Subject: [PATCH 13/42] winepulse: Add IAudioClock and IAudioClock2
---

View File

@@ -1,6 +1,6 @@
From d67a96e9b1cc13a5fa98bfb0f1a9a0b638d7f117 Mon Sep 17 00:00:00 2001
From 85e33b703dd8c082af2b4a008215adca70308fc5 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Date: Sat, 4 Jan 2014 07:08:54 +0100
Date: Sat, 8 Feb 2014 16:08:54 +0100
Subject: [PATCH 14/42] winepulse: Add audiostreamvolume
---

Some files were not shown because too many files have changed in this diff Show More