You've already forked linux-packaging-mono
Imported Upstream version 4.2.0.179
Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
committed by
Jo Shields
parent
183bba2c9a
commit
6992685b86
@@ -33,6 +33,12 @@ using System.Net.Sockets;
|
||||
|
||||
namespace Mono.Unix
|
||||
{
|
||||
internal struct PeerCredData {
|
||||
public int pid;
|
||||
public int uid;
|
||||
public int gid;
|
||||
}
|
||||
|
||||
public class PeerCred
|
||||
{
|
||||
/* Make sure this doesn't clash with anything in
|
||||
@@ -40,14 +46,14 @@ namespace Mono.Unix
|
||||
* runtime
|
||||
*/
|
||||
private const int so_peercred=10001;
|
||||
private Mono.Posix.PeerCredData data;
|
||||
private PeerCredData data;
|
||||
|
||||
public PeerCred (Socket sock) {
|
||||
if (sock.AddressFamily != AddressFamily.Unix) {
|
||||
throw new ArgumentException ("Only Unix sockets are supported", "sock");
|
||||
}
|
||||
|
||||
data = (Mono.Posix.PeerCredData)
|
||||
data = (PeerCredData)
|
||||
sock.GetSocketOption (SocketOptionLevel.Socket, (SocketOptionName)so_peercred);
|
||||
}
|
||||
|
||||
|
||||
@@ -176,6 +176,10 @@ namespace Mono.Unix {
|
||||
else if (typeof(UnicodeEncoding).IsAssignableFrom (encodingType)) {
|
||||
len = GetInt16BufferLength (p);
|
||||
}
|
||||
// Encodings that will always end with a 0x00000000 32-bit word
|
||||
else if (typeof(UTF32Encoding).IsAssignableFrom (encodingType)) {
|
||||
len = GetInt32BufferLength (p);
|
||||
}
|
||||
// Some non-public encoding, such as Latin1 or a DBCS charset.
|
||||
// Look for a sequence of encoding.GetMaxByteCount() bytes that are all
|
||||
// 0, which should be the terminating null.
|
||||
|
||||
Reference in New Issue
Block a user