Commit Graph

666 Commits

Author SHA1 Message Date
Ove Kaaven c707e23675 Initial support for RPC call failures, by catching RPC server
exceptions and returning simple failure packets, and throwing
exceptions on the client side when unmarshalling the failure packet.
2003-05-22 03:36:00 +00:00
Ove Kaaven 2d56c3d62d For RPC servers, don't deallocate the RPC request packet before the
RPC reply packet is sent, in case marshalling the reply needs any of
the request data.
2003-05-21 18:23:06 +00:00
Ove Kaaven 40c9882b6c Added semi-stub for NdrProxyErrorHandler.
Fixed a case of potential stack trashing.
2003-05-21 18:22:49 +00:00
Ove Kaaven 6e67d46355 Fixed NdrDllRegisterProxy so it registers the key names that ole32
expects. Better debug traces (include name of interface).
2003-05-20 04:13:44 +00:00
Ove Kaaven a3f6bb8294 Implemented "dereference" pointer flag.
Added NdrClearOutParameters stub.
2003-05-20 02:17:49 +00:00
Ove Kaaven 571bc879c5 Portability fix. Better debug messages (display IID of interface to
marshal).
2003-05-20 02:17:15 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Alexandre Julliard 056e4197f9 Added a few stubs needed by the generated oaidl_p.c. 2003-04-26 02:12:14 +00:00
Ove Kaaven 8e38233736 Implemented simple caching of client connections. 2003-04-19 20:06:42 +00:00
Ove Kaaven 097c8edc39 Fixed a race condition on RPC worker thread creation, and a typo. 2003-04-19 02:49:35 +00:00
Ove Kaaven daffdb622a Added missing AddRef. 2003-04-19 02:49:15 +00:00
Alexandre Julliard 5537dbbf40 Replaced WINE_CHECK_STRUCT_MEMBER autoconf macro by the standard
AC_CHECK_MEMBERS. Added check for si_fd in siginfo_t.
2003-03-28 00:36:12 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Ove Kaaven def211c4c9 For better concurrency, separate the connections from the bindings. 2003-02-19 03:44:35 +00:00
Ove Kaaven cf2dea09af NDR marshalling fixes. 2003-02-17 01:48:24 +00:00
Ove Kaaven 1a0112a47d Make NdrDllRegisterProxy use the interface stub header instead of the
interface proxy header to avoid stubless proxy ambiguities.
2003-02-17 01:47:54 +00:00
Marcus Meissner e1c7202716 Fixed undefined operation compiler warning. 2003-02-11 22:20:24 +00:00
Ove Kaaven 0e85f48f9d Implemented marshalling of pointers, simple and complex structures,
conformant and complex arrays, and user-marshalled types.
Improved marshalling of conformant strings and interface pointers a
bit.
2003-02-01 00:44:51 +00:00
Ove Kaaven 9dc2584b32 ReuseBuffer should be FALSE for RPC clients.
Some cleanups and elimination of some duplicate code.
2003-01-31 03:22:53 +00:00
Ove Kaaven c3e724d047 Fixed a bug in CompleteBindingA/W. 2003-01-31 03:22:38 +00:00
Ove Kaaven 5d121fbe05 Implemented RpcRaiseException. 2003-01-31 03:22:27 +00:00
Francois Gouget 9b0b1e078a Remove (POINTER)NULL casts. 2003-01-14 23:43:41 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Dimitrie O. Paun 48be9c6e87 Fix definitions for Uuid{To,From}String, RpcStringFree. 2002-12-24 00:26:55 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Ove Kaaven 1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Francois Gouget 938ed57cb8 Skip Unicode tests if there's no Unicode support. 2002-12-05 19:01:51 +00:00
Alexandre Julliard d77294a8ec Authors: Greg Turner <gmturner007@ameritech.net>, Ove Kaaven <ovek@transgaming.com>
- preliminary implementation of endpoint-mapping via a new on-demand
  server-ish process
- more header fixups
- (re)implement RpcEpRegisterA, RpcEpUnregister, and
  RpcEpResolveBinding using the new rpcss functionality
- update the todo list in rpcrt4_main.c a bit
- many beautifications and touch-ups
- command-line configurable timeout
- micro-client imbedded in np_server.c
2002-12-02 21:17:04 +00:00
Alberto Massari d9159093a5 Avoid crashing when releasing an NdrCStdStubBuffer that had been
previously disconnected.
2002-11-08 18:52:34 +00:00
Greg Turner b9ae9eca13 - Remove stupid indentations from trace msgs.
- Update the rpc TODO list a bit.
- Add some constants for winapi_check.
- Nil pointer support for some UUID functions (spotted by Olivier
  Evalet).
2002-11-06 21:58:21 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Greg Turner 2339b83ef4 Fix some problems found by winapi_check. 2002-11-01 01:47:43 +00:00
Greg Turner d4730de333 Fix stupid clone of broken macro, found by Marcus. 2002-11-01 01:47:04 +00:00
Greg Turner eaa53a05b0 Remove #ifdef WINNT conditionals; just use the NT definitions. 2002-10-31 23:36:07 +00:00
Greg Turner f71a83a1e9 - Use appropriate per-platform NDR_LOCAL Data Representation.
- Minor housekeeping changes.
2002-10-31 23:35:46 +00:00
Greg Turner 3eafbfcd56 - Fix offset bug in the conformant string unmarshall routine.
- Fix discrepancy between headers and implementation of
  I_RpcBindingSetAsync when compiling under WINNT.
- Eliminate race conditions in the relationship between "listen_count"
  and "std_listen" in rpc_server.h.
- Code-stubs for RpcServerUnregisterIf, RpcServerUnregisterIfEx.
- Attempt to implement RpcMgmtStopServerListening (definitely not
  happy just yet).
- RpcServerUnregisterIfEx wasn't xp-sepcific after all; this leads me to
  suspect there are more such mistakes in the spec-file comments, but I
  haven't looked into it or fixed them yet (coming soon).
- Cleanups, trace-enhancements, etc.
2002-10-31 22:45:12 +00:00
Greg Turner dc3e6c571b Rename the *_32_READ macros to *_UINT32_READ for clarity. 2002-10-31 22:04:08 +00:00
Marcus Meissner f99c03b972 Fixed LITTLE_ENDIAN_32_READ macro to at least compile. 2002-10-30 20:26:51 +00:00
Greg Turner 70bb478134 - more comments and comment-cleanup
- attempt to implement NdrConformantStringMemorySize
- fix NdrConformantStringUnMarshall
- w00t!
2002-10-29 23:07:33 +00:00
Patrik Stridvall c72255c715 Fixed some issues found by winapi_check. 2002-10-29 21:31:26 +00:00
Greg Turner 7ac58a4dc9 - Pull the buffer from the rpc message into the midl stub message
during RpcServerInitializeNew.
- Attempt to implement NdrConformantStringUnmarshall.
- More assertions.
- Comments and cleanups.
2002-10-28 23:53:23 +00:00
Greg Turner cbd5afd843 Add a bunch of stubs, all of which I presume to be WXP additions. 2002-10-28 23:52:42 +00:00
Greg Turner a215f6b21a - Clean up and add some comments.
- Add NDR Data representation constants.
- Propagate DataRepresentation into and out of packet headers.
- Implement NdrServerInitializeNew
2002-10-28 21:14:16 +00:00
Greg Turner 6abd817d8e - Distinguish between actual paranoia and meaningful buffer space.
- No need to #undef BUFFER_PARANOIA here.
2002-10-28 20:40:59 +00:00
Greg Turner fc55077e52 - Clean up and enhance some traces.
- Stubs for NdrConvert, NdrConvert2, and NdrServerInitializeNew.
2002-10-28 20:07:01 +00:00
Greg Turner c36d63f436 Fix endianness dependency in the (there is only one :) ) marshall
function.
2002-10-28 18:47:41 +00:00
Greg Turner 461708c142 - Use memset instead of ZeroMemory, just to be consistent with Ove's
code.
- Add some assertions where assumptions are made (need way more).
- Plug the binding handle into the RPC_MESSAGE during NdrGetBuffer.
- Implement NdrSendReceive.
- Attempt to support client and server bindings in I_RpcSend[Receive].
2002-10-25 21:02:02 +00:00
Greg Turner 4a37d84a9d - Make explicit some missing include dependencies.
- Implement NdrGetBuffer, NdrFreeBuffer, NdrConformantStringBufferSize
  and NdrConformantStringMarshall.
- Define the RPC_FC_C_CSTRING constant.
- Perhaps I don't want those MIDL_*_FORMAT_STRING structs, after
  all. Removed.
- Add RPC todo list.
- MIDL_STUB_MESSAGE.uFlags aren't.
- Comment out the NdrClientCall2 mock-up since that stuff is in the
  process of being implemented and might cause problems.
2002-10-25 19:03:43 +00:00
Greg Turner e033578a58 Implemented NdrClientInitializeNew. 2002-10-23 23:36:53 +00:00
Greg Turner c029f8c006 Whitespace cleanup. 2002-10-23 23:36:24 +00:00
Greg Turner 641f7fa3de Fixed a tiny trace bug. 2002-10-23 23:36:05 +00:00
Greg Turner 0e2bec0e70 - Use Ove-style macros for NdrConformantStringMarshall definition.
- Move NdrConformantStringMarshall to new ndr_marshall.c.
- Stubs for NdrConformantStringBufferSize,
  NdrConformantStringMemorySize, and NdrConformantStringUnmarshall.
2002-10-22 00:41:17 +00:00
Greg Turner 36fa7d50a7 - ClientCall2 still deserves a FIXME.
- Complete bindings with NULL endpoints.
- Implement RpcServerUseProtseqA, RpcServerUseProtseqW.
2002-10-22 00:40:01 +00:00
Greg Turner c14e9ebc07 Fix return types of NdrConformantStringMarshall, NdrGetBuffer, and
NdrSendReceive.
2002-10-21 23:42:01 +00:00
Greg Turner b71535ebfd Stubs for RpcServerUseProtseqA, RpcServerUseProtseqW. 2002-10-21 23:41:35 +00:00
Greg Turner 1ecb22867f Super-crude implementation for NdrClientCall2.
Specs and headers for NdrClientInitializeNew,
NdrConformantStringMarshall, NdrGetBuffer, NdrFreeBuffer, and
NdrSendReceive.
2002-10-19 19:17:19 +00:00
Greg Turner fc4e2fe74f Fix up RpcMgmtWaitServerListen to be less incorrect. 2002-10-19 19:14:45 +00:00
Greg Turner f6673f3a95 Some MIDL constants and structures (should eventually move to rpcndr.h
I think).
Stubs for NdrClientInitializeNew, NdrConformantStringMarshall,
NdrGetBuffer, NdrFreeBuffer, and NdrSendReceive (not in specfile yet).
2002-10-19 19:14:25 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Greg Turner 034e4df6e7 - (try to) implement RpcMgmtWaitServerListen
- remove duplicate RpcServerListen declaration in rpcdce.h
- some TRACEs
2002-10-18 03:56:56 +00:00
Alexandre Julliard 54ba29acf0 Fixed compilation for non-i386. 2002-10-17 16:45:24 +00:00
Greg Turner 686b845593 Use the msvc way to return a struct, fixing wierd problems. 2002-10-16 18:51:11 +00:00
Ove Kaaven a2813f4a5e Added NdrOleAllocate, NdrOleFree, NdrInterfacePointerBufferSize,
NdrInterfacePointerFree, NdrInterfacePointerMarshall,
NdrInterfacePointerMemorySize, NdrInterfacePointerUnmarshall.
2002-10-11 18:45:02 +00:00
Ove Kaaven 1cc2cee66f Reimplement several RpcServer.* methods in rpc_server.c.
Implement RpcServerInqBindings, I_RpcServerStartListening,
I_RpcServerStopListening, and I_RpcWindowProc.
2002-10-11 17:52:37 +00:00
Ove Kaaven 66840f7d11 Added NdrDllCanUnloadNow, NdrDllGetClassObject, NdrDllRegisterProxy,
NdrDllUnregisterProxy, CStdPSFactory methods.
2002-10-10 23:36:52 +00:00
Ove Kaaven 528d2c4f7f Added NdrProxyFreeBuffer, NdrProxyGetBuffer, NdrProxyInitialize,
NdrProxySendReceive, NdrStubGetBuffer, NdrStubInitialize.
2002-10-10 23:26:53 +00:00
Ove Kaaven 1d5d2bd081 Implement the CStdStubBuffer methods. 2002-10-10 22:46:08 +00:00
Ove Kaaven b41d4feda1 IUnknown_[QAR]_Proxy implementations, VTbl construction, the dreaded
ObjectStubless, and other proxy-related goodies.
2002-10-10 21:18:29 +00:00
Ove Kaaven c3a78d4fbe Stubby NdrClientCall2 & some header changes. 2002-10-10 19:23:33 +00:00
Ove Kaaven 0a17edf3a5 Implemented I_RpcFreeBuffer, I_RpcGetBuffer, I_RpcReceive, I_RpcSend,
I_RpcSendReceive; administrivia.
2002-10-10 18:55:24 +00:00
Greg Turner ac89cc28dd Added skeleton for rpcrt4 unit test with some UUID tests. 2002-10-07 21:54:07 +00:00
Greg Turner 13b0f9f5ad Implemented UuidCompare. 2002-10-07 21:52:55 +00:00
Ove Kaaven 9b239925a9 Implemented RpcBindingInqObject, RpcBindingSetObject,
RpcBindingVectorFree, RpcBindingToStringBindingA/W,
RpcBindingFromStringBindingA/W, RpcStringBindingParseA/W,
I_RpcBindingSetAsync, RpcStringBindingComposeA/W, RpcBindingFree,
RPCStringFreeW, UUIDHash, UuidToStringW, and associated junk.
2002-10-07 21:49:49 +00:00
Alexandre Julliard 21eb2b5c1e Implemented UuidFromString[AW] based on CLSIDFromString
implementation.
2002-10-04 00:20:56 +00:00
Ove Kaaven f9650f40b5 Added UuidCreateNil, UuidEqual and UuidIsNil. 2002-10-03 22:51:49 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Ove Kaaven 29b3061bfa Some more RPC definitions. 2002-08-09 01:11:39 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Mike McCormack 161f555a06 Added an empty implementation for UuidFromStringA/W. 2002-06-13 21:50:12 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Stefan Leichter 8550dc2fd6 Added stub for DllRegisterServer. 2002-05-19 22:22:52 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard c3e06df941 Portability fixes. 2002-05-14 23:18:23 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Stefan Leichter 55cc7d746c Added two missing exports. 2002-02-19 18:37:26 +00:00
Patrik Stridvall 651a8ba880 Added some defines for compatibility with Windows headers. 2002-02-15 19:12:35 +00:00
Patrik Stridvall 5038c04efd Fixed some issues found by winapi_check. 2002-01-31 21:47:34 +00:00
Mike McCormack de5316b801 Added stubs for NdrDllCanUnloadNow and NdrDllGetClassObject. 2002-01-29 18:16:39 +00:00
Mark G. Adams 9aa54a9076 Fix UuidCreate() to not forget MAC address.
Remove {}'s from UuidToStringA() output.
Add UuidCreateSequential() function from Windows 2000.
2002-01-06 19:08:47 +00:00
Ove Kaaven 7e0906f194 Lots of rpcrt4.dll stubs. 2001-09-17 20:26:38 +00:00
Huw D M Davies 2356fbce9e Stub implementation for UuidHash(). 2001-09-07 15:25:51 +00:00
Patrik Stridvall 4d2b85bf99 Fixed some issues found by winapi_check. 2001-07-12 22:22:23 +00:00
Peter Hunnisett 8cec3cff1e Added a bunch of entry points.
Added some stubs and header information.
Fixed some return codes.
2001-07-11 20:19:06 +00:00
Patrik Stridvall 09da966c8c Add proper check for existance of struct sockaddr member sa_len. 2001-07-08 22:30:50 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Alexandre Julliard 0618746265 Cleaned up dll startup routines now that we have separate address
spaces.
2001-01-17 22:03:18 +00:00
Stefan Leichter e5ca1aa06a Compile fix for gcc 2.7.2.3. 2000-12-05 20:45:14 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
David Elliott ea186796eb Remove libXXXX.so.1.0 lines from .cvsignore files. 2000-11-30 19:57:34 +00:00
Patrik Stridvall 024d6c50d6 Fixed some issues found by winapi_check. 2000-11-25 03:09:30 +00:00
Marcus Meissner 5dec0a72bd Added some rpcrt4 stubs. 2000-11-15 22:11:50 +00:00
Alexandre Julliard 27939f00fd Start using import tables for dlls that can already support it. 2000-11-12 03:50:10 +00:00
Alexandre Julliard eb58e1d597 Declare debug channels in all dlls that need them; added imports of
ntdll where necessary.
2000-11-05 04:53:07 +00:00
Alexandre Julliard 1a3f705fc1 Added import of ntdll. 2000-10-31 00:22:41 +00:00
Chris Morgan 1fc70a94c5 Implemented RpcStringFreeA and UuidToStringA. 2000-10-24 01:37:22 +00:00
Alexandre Julliard 83f52d11c1 Moved all Win16 definitions out of the standard Windows headers. 2000-09-26 22:20:14 +00:00
Patrik Stridvall 315b00e861 Fixed issues found by winapi_check. 2000-07-25 17:45:14 +00:00
Andreas Mohr 2caee712a2 Spelling fixes. 2000-07-16 15:44:22 +00:00
Huw D M Davies 10b1b23d40 Create rpcrt4.dll.
Implement UuidCreate (using existing code from CoCreateGuid).
CoCreateGuid calls UuidCreate.
2000-07-15 19:53:50 +00:00