View Single Post
rm_you's Avatar
Posts: 98 | Thanked: 189 times | Joined on Jul 2007 @ San Antonio, TX
#45
Err, yes... I guess I saw that and it didn't register. I guess I will have to compile something similar to get info...

Edit: Ok, so here is the code I am trying to use...
Code:
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/un.h>

void main()
{
        int mysock = socket(PF_FILE, SOCK_STREAM, 0);
        struct sockaddr_un name;
        size_t size;
        int nbytes;

        name.sun_family = AF_FILE;
        strcpy (name.sun_path, "/mnt/initfs/tmp/dsmesock");
        size = (offsetof (struct sockaddr_un, sun_path) + strlen (name.sun_path) + 1);

        if (connect (mysock, (struct sockaddr *) &name, size) < 0) {
                printf("Error opening socket.\n");
        }
        else {
                nbytes = write (mysock, "\f\0\0\0\211\2\0\0d\0\0\0", 12);
                if (nbytes < 0)
                {
                        printf("Write error.\n");
                        exit(1);
                }
                shutdown(mysock,2);
        }
}
It seems to go? but it doesn't do anything.

strace:
Code:
Nezumi:~# strace -f ./testdsme
execve("./testdsme", ["./testdsme"], [/* 59 vars */]) = 0
brk(0)                                  = 0x11000
uname({sys="Linux", node="Nezumi", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=31704, ...}) = 0
mmap2(NULL, 31704, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40004000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\324\302"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1086428, ...}) = 0
mmap2(0x41028000, 1118708, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x41028000
mprotect(0x4112c000, 32768, PROT_NONE)  = 0
mmap2(0x41134000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x104) = 0x41134000
mmap2(0x41137000, 8692, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x41137000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000c000
syscall_983045(0x4000c4a0, 0x4000c4a0, 0x41023048, 0x4000cb78, 0x40, 0, 0x48, 0xf0005, 0, 0, 0x41023000, 0xbee853d4, 0, 0xbee85050, 0xfffffff8, 0x41000ad0, 0x20000010, 0x4000c4a0, 0xd02c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0
mprotect(0x41134000, 4096, PROT_READ)   = 0
munmap(0x40004000, 31704)               = 0
mq_notify(1, ptrace: umoven: Input/output error
{...})                     = 3
SYS_283(0x3, 0xbee854d8, 0x1b, 0xbee854d8, 0x41022db8) = 0
write(3, "\f\0\0\0\211\2\0\2\0\0\0\0", 12) = 12
SYS_293(0x3, 0x2, 0xc, 0xc, 0x41022db8) = 0
io_submit(0, 0, 0 <unfinished ... exit status 0>
Process 3339 detached

Last edited by rm_you; 2008-01-11 at 11:19.