Commit graph

178 commits

Author SHA1 Message Date
ftrvxmtrx 7a95bef00e authsrv: remove unused opasstokey 2015-06-09 23:53:07 +02:00
mischief 045530aed2 ape: define long long limits 2015-06-04 17:16:23 -07:00
cinap_lenrek 16bbaa2014 ape: include <sys/types.h> in <sys/wait.h> for pid_t (thanks jens staal) 2015-05-27 21:48:42 +02:00
cinap_lenrek 40360a992d libsec: implement tlsClient support for RFC6066 server name identification (SNI)
tlsClient() now can optionally send the server_name in the ClientHello
message by setting the TLSconn.serverName. This is required for some
https sites.
2015-05-21 02:26:57 +02:00
mischief 5d2253af99 libhttpd: declare hvprint 2015-05-20 15:09:34 -07:00
cinap_lenrek 12bb7bcfff libsec: remove aesCTRencrypt()/aesCTRdecrypt() (thanks mischief and qrstuv)
as mischief and qrstuv point out, these functions are not very usefull
and are even implemented wrong (incrementCTR()), so deleting the code.
2015-04-29 02:58:10 +02:00
cinap_lenrek dbbe430ec7 libmach: use #pragma pack to force 4 byte alignment of bootexec.h structures for amd64 2015-03-18 19:31:51 +01:00
cinap_lenrek 07c7fa6716 libthread: get rid of chaninit() (thanks qrstuv)
chaninit() does not initialize Chan.qentry and Chan.nentry
and there is no way to get rid of such a channel. nobody is
using it, so removing the function to avoid confusion.
2015-03-04 10:20:31 +01:00
cinap_lenrek 035aacf6f5 bio: add Bfdopen() from plan9port 2014-12-14 20:21:42 +01:00
cinap_lenrek 6c68876db6 libsec: add diffie-hellman functions 2014-09-14 02:29:18 +02:00
mischief 4afbc988ca pool: declare pooldump in pool.h. the manual says it is public. 2014-06-09 12:17:45 -07:00
ftrvxmtrx 6f58f7fed4 thread.h: varargck argpos for threadsetname 2014-05-03 12:09:53 +02:00
ftrvxmtrx 462f1d0688 bio.h: add varargck argpos pragma for Berror 2014-05-03 11:46:01 +02:00
cinap_lenrek e42981dfcf factotum/authsrv: fix padding for mschap on amd64, use constants for structure sizes 2014-02-15 19:57:13 +01:00
cinap_lenrek e836796365 pool: use uintptr for pool size
note, arenas and blocks still use ulong for sizes. so
we have to check for overflow when attempting to merge
arenas.
2014-02-06 22:47:05 +01:00
cinap_lenrek b99ecee6cd malloc: change malloc and realloc tag types to uintptr 2014-01-20 00:09:53 +01:00
cinap_lenrek 7143b286b7 ape: move strdup() from libbsd to libap (from sources)
including <string.h> should be enougth to make strdup()
available.
2013-12-28 05:14:10 +01:00
cinap_lenrek 71dbddef16 draw: fix drawing of replicated source image on memlayer with a clip rectangle
when a replicated source image with a clipr with clipr.min > Pt(0, 0),
drawclip() would properly translate the src->clipr on the dstr
but then clamp the source rectangle back on src->r.

while traversing down multiple layers, this would cause the translation to
be applied multiple times to the dst rectangle giving the wrong image result.

this change adds a new drawclipnorepl() function that avoids the clamping
of source and mask rectangles to src->r and mask->r. this is then used in
libmemlayer.

the final memimagedraw() call will call drawclip() which will do the final
claming.

a testcase is provided:

#include <u.h>
#include <libc.h>
#include <draw.h>

Image *blue;
Image *red;

void
main(int, char *argv[])
{
	Image *i;

	if(initdraw(nil, nil, argv[0]) < 0)
		sysfatal("initdraw: %r");
	i = allocimage(display, screen->r, screen->chan, 1, DWhite);

	red = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DRed);
	blue = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPaleblue);
	replclipr(red, 1, Rect(10, 10, 110, 110));
	replclipr(blue, 1, Rect(11, 11, 111, 111));

	/* draw on non-layer, works correctly */
	draw(i, i->r, red, nil, ZP);
	draw(i, i->r, blue, nil, ZP);
	draw(screen, screen->r, i, nil, i->r.min);
	flushimage(display, 1);

	/* draw on (screen) layer is too far to the right */
	draw(screen, screen->r, red, nil, ZP);
	draw(screen, screen->r, blue, nil, ZP);
	flushimage(display, 1);

	for(;;){
		sleep(1000);
	}
}
2013-12-09 03:35:01 +01:00
cinap_lenrek d56a6fadc5 libmemdraw: change memimageinit() to return integer error (for kernel), minor cleanups 2013-11-12 21:42:05 +01:00
BurnZeZ 2dc7e311f4 make libjson from /sys/src/cmd/btc/json.c 2013-10-27 15:44:33 -04:00
cinap_lenrek a5e9641906 change Rune from ushort to uint for to 21 bit runes (thanks mischief!)
big big change. requires rebuilding 8c first and then rebuild
everything.
2013-10-17 12:02:45 +02:00
cinap_lenrek cdc2c30e99 reverting semaphore lock changes from sources (r41ccd6d221da, rb28756e5ba29)
semaphore locks have much higher overhead than initially presented
in the "Semaphores in Plan9" paper. until the reason for it has been
found out i will revert the changes.
2013-09-26 22:24:31 +02:00
cinap_lenrek f811708ffc ape: change tas/sleep locks to cas/semacquire/semrelease locks (from sources) 2013-09-21 19:55:52 +02:00
cinap_lenrek 3d05e77ca1 libc: change tas/sleep locks to cas/semacquire/semrelease locks (from sources)
spinlocks have been changed to use the new semacquire/semrelease
syscalls in combination with atomic compare and swap operations.
2013-09-21 19:53:27 +02:00
cinap_lenrek cf166c3850 libaml: amldelay(), _OSI(), fix bug in Load() (from plhk's acpi patch)
export amldelay() for microsecond sleeps.

implement _OSI() method.

fix rwreg argument in evalload()
2013-09-07 14:40:24 +02:00
cinap_lenrek 9add5b765f libaml: new io interface, add amlnew()/amltake()/amldrop(), late binding names, FindSetLeftBit/FindSetRightBit
new io interface was added. user defines amlmapio() and amlunmapio() functions
that will fill out Amlio structure with function pointers to read/write
routines for a particular region.

amlnew() function added allowing the creation of aml objects like buffers
or packages. these can be passed to amleval() with b, p or * format.

amltake()/amldrop() exclude an aml object from garbage collection.

on load, names are not always resolvable until the whole table is loaded.
for this, we create n objects that are just name strings. after load, we
recursively traverse the namespace and resolve them (see fixnames()).

the FindSetLeftBit and FindSetRightBit opcodes got implemened.
2013-09-06 16:48:27 +02:00
cinap_lenrek 95fac5e873 libhtml: fix potential linked list corruption
the difficulty is freeing items while parsing because items might already
be linked into various linked lists like in docinfo.images or form.fiels.
so we link images, tables and formfields to the docinfo as the final step
of getitems() pass using the new recursive function linkitems(). as only
reachable items get linked theres no danger of dangeling pointers.
2013-09-05 00:55:58 +02:00
cinap_lenrek 24349c52b4 rio: add ^B control sequence to move cursor to output point 2013-08-04 06:45:58 +02:00
cinap_lenrek 202be57bb9 draw: add badrect() function to reject zero, negative size or orverly huge rectangles
not checking the rectangle dimensions causes integer overflows
and memory corruption. adding a new badrect() function that checks
for these cases.
2013-06-16 19:01:46 +02:00
cinap_lenrek 389d6a1054 ape: change types from unsigned long to void* for rendezvous() and segattach()/segbrk() (erik), use uniqueue rendezvous tags for _buf and listen 2013-05-11 18:34:40 +02:00
cinap_lenrek 18e480ceb2 bio: use UTFmax for Bungetsize and fix libmach to include <libc.h> before <bio.h> (from sources) 2013-05-04 18:30:49 +02:00
cinap_lenrek 667010554b make all the commands agnostic about Rune width. (from sources) 2013-04-24 20:13:18 +02:00
cinap_lenrek e8a0276090 ape: add inet_aton() 2013-04-01 19:16:18 +02:00
cinap_lenrek bbe95085d4 python: update python build configuration to new ape capabilities like getaddrinfo(), ipv6 and fix EISCON typo in ape 2013-03-31 18:54:45 +02:00
cinap_lenrek b6dc4ba5a4 ape: initial IPv6 support, inet_pton()/inet_ntop(), getaddrinfo()/getnameinfo() 2013-03-31 18:52:45 +02:00
cinap_lenrek 9c7e1db701 ape: define FD_SETSIZE for select() 2013-03-31 18:46:14 +02:00
cinap_lenrek 25f04a68a1 ape: threadsafe errno
store errno on the private process stack so its always per process
and not just per memory space. errno itself becomes a macro
dereferencing int *_errnoloc; which is initialized from main9.s
pointing to the private stack location.

various fixes in programs that just imported errno variable with
"extern int errno;" instead of including <errno.h>.
2013-03-11 18:57:22 +01:00
cinap_lenrek 8b72726549 ape: add PASS_MAX constant for getpass() to limits.h (from patch/ape-pass_max)
add PASS_MAX to limits.h for ape, and make getpass respect it. also increase the size of
the maximum passwords (we use long ones at work). Needed for native port of SVN (in progress).
2013-02-28 19:21:03 +01:00
ftrvxmtrx 092fd36154 mp.h: fix typo 2013-02-10 20:46:56 +01:00
cinap_lenrek dbbbff8915 lib9p: defer closing down srv until the last request has been responded, Tversion message size
in multithreaded programs, we have to wait until all outstanding
requests have been responded before closing down the srv.

dont make write errors sysfatal(), only print them. in case if
listensrv() is used we dont want to exit the process in respond()
called by some worker thread.

make sure Tversion is only handled when there are no outstanding
requests and make sure message size is sane.
2013-01-30 06:26:03 +01:00
cinap_lenrek 6cadd03bbe fix utf and rune handling in preparation for 32bit runes 2012-12-31 21:09:46 +01:00
cinap_lenrek 7ceff03db3 bio: remove useless Breadn() as it does the same as Bread()
Bread() always reads exactly nbytes of data if it can. only
when it reaches end of file or an error it will return less.
so the Breadn() function that was introduced has been removed.

sorry for the confusion.
2012-12-25 02:45:28 +01:00
cinap_lenrek 84c930a078 ape: fix putenv()
writing /env in putenv() doesnt work. exec will create
new enviroment anyway. we have to modify environ array!
2012-12-03 06:44:30 +01:00
google dd1b8df880 Add alignment hints for e512 ATA drives. 2012-09-09 17:22:12 +12:00
cinap_lenrek 7f22b32e63 isodate in libc? revert every commit for great justice! 2012-09-01 14:12:29 +02:00
google 0e41e0b7c5 Add prototypes for isotime and isodate. This should have been in the previous commit. 2012-09-02 23:15:15 +12:00
cinap_lenrek 64cb1dd5b4 libmach: add arm64 constants (import from sources) 2012-08-02 22:23:58 +02:00
cinap_lenrek 18d1ef20b3 format check for octal fmt strings (import from sources) 2012-08-02 22:22:57 +02:00
cinap_lenrek da20365290 libauth: fix authrpc buffer overflow (import from sources) 2012-08-02 22:22:05 +02:00
cinap_lenrek 49ac0b93d3 add tsemacquire syscall for go 2012-07-29 20:26:49 +02:00
cinap_lenrek a47521a3ed experimental acpi support for apic irq routing 2012-06-17 23:12:19 +02:00
aiju d2357e6961 added ecdsa to factotum 2012-06-06 16:43:15 +02:00
aiju 005248b4c5 added elliptic curve stuff and RIPEMD-160 2012-06-04 11:50:37 +02:00
cinap_lenrek 9c844d90e1 lib9p: add Srv.start 2012-03-30 20:06:33 +02:00
cinap_lenrek 9840c9f18e ndb/cs: fix use after free caused by flush/clunk happening before dns lookup finishes 2012-03-23 04:02:34 +01:00
cinap_lenrek 278d4f8477 libdraw: added enter() and eenter() functions 2011-10-31 19:41:48 +01:00
cinap_lenrek c0c9a9927f libbio: add Breadn 2011-10-06 00:39:05 +02:00
cinap_lenrek c360ea5511 libthread: reimplemented i/o procs using new interrupt ctl message 2011-08-22 03:04:01 +02:00
aiju 8434f98cdd added interrupt proc ctl message 2011-08-20 12:30:06 +02:00
aiju 0a0435dbc1 lib9p reqqueue: more cleaning 2011-08-19 19:33:36 +02:00
aiju 9574793fc7 lib9p reqqueue: remove setjmp shit 2011-08-19 16:24:44 +02:00
cinap_lenrek 0c1284f602 lib9p: add srvacquire/srvrelease 2011-08-19 05:18:19 +02:00
aiju c65100ffa0 lib9p: added toilet queues 2011-08-16 22:00:34 +02:00
aiju 6aed9711b4 devshr: changed #σc to contain directories
nusb: detaching
2011-07-30 14:30:27 +02:00
aiju 7d0ce95567 lib9p: added threadpostsharesrv 2011-07-27 16:36:32 +02:00
aiju abe6ead0ff lib9p: added functions for devshr 2011-07-27 10:46:34 +02:00
aiju 5851650367 added Blethal to libbio 2011-07-12 18:39:40 +02:00
cinap_lenrek c2fc2fad13 merge sd changes from 9atom 2011-07-10 14:14:23 +02:00
aiju b4ae96bcb9 added ainc / adec prototype 2011-06-25 12:26:25 +02:00
aiju 67daf453a7 fixed tzset(), hopefully hg timezone bug should be fixed now 2011-06-04 12:02:42 +02:00
aiju 97d3ff1bee added EWOULDBLOCK 2011-06-03 13:43:25 +00:00
aiju 6ab691048d added (unfinished) nanosleep to APE 2011-06-03 12:28:37 +00:00
taruti 9655db2550 devfs crypto code - alpha version 2011-05-24 22:19:33 +00:00
cinap_lenrek e7d3e20912 remove keyboard stuff from other ports, make openssl and python compile on arm 2011-05-21 00:42:08 +00:00
cinap_lenrek 4fcc906e7f add /dev/kbd support to rio 2011-05-11 05:55:48 +00:00
cinap_lenrek 3a742c699f add zlib, bzlib and openssl ape ports 2011-05-03 09:56:35 +00:00
Taru Karttunen a9060cc06b Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Taru Karttunen c558a99e0b Import sources from 2011-03-30 iso image - sys/include 2011-03-30 16:47:56 +03:00