Giter Site home page Giter Site logo

libbrowserid's Introduction

Build Status

libbrowserid

libbrowserid is a C library for generating and verifying Mozilla Persona (BrowserID) assertions. This source distribution also includes a GSS/SASL mechanism based on the BrowserID protocol, but that is not built by default.

More information on BrowserID is available at the URL https://developer.mozilla.org/en-US/docs/persona.

Building

For building on Mac OS X, no additional packages are required.

On Windows you will additionally need:

On all other platforms, you will need, in addition to Jansson:

Building is similar to other autotools-based projects; run ./autogen.sh, ./configure and make. If you wish to also build the GSS/SASL mechanism, see the instructions in mech_browserid/README.md.

Sample code

Sample code can be found in the sample directory. See doc/sample.md for more information.

libbrowserid's People

Contributors

lhoward avatar jmalinen avatar hartmans avatar jmberg avatar wsowa avatar dcbw avatar jmberg-intel avatar sleffler avatar helmut-jacob avatar joukewitteveen avatar pstew-dd avatar michael-dev avatar impulze avatar holtmann avatar twoln avatar dds avatar scantor avatar rsmarples avatar dbnicholson avatar cleary avatar yogeshpowar avatar tomasbw avatar restena-sw avatar tbm avatar grawity avatar buytenh avatar karlhiramoto avatar reedjc avatar booxter avatar holgerschurig avatar

Stargazers

H avatar Evan Kinney avatar Pawel Cyrta avatar Hei Liebrecht avatar Dhruv Gohil avatar Bill Katz avatar James Tocknell avatar Russ Herrold avatar Gosha Spark avatar Julian Meyer avatar Leho Kraav avatar  avatar Charles Strahan avatar Zach Carter avatar Oleg Anashkin avatar  avatar Lloyd Hilaiel avatar

Watchers

 avatar James Cloos avatar Codedaiquiri avatar John Horst avatar  avatar

Forkers

neha-lisa

libbrowserid's Issues

bid_acq segfaults

sed -i 's/clang/gcc -O0 -ggdb/ libbrowserid/tests/Makefile
$ cd tests; LD_LIBRARY_PATH=../.libs:~/src/jansson/src/.libs gdb ./bid_acq
Using host libthread_db library "/lib64/libthread_db.so.1".
*** Error in ~/src/gss_browserid/libbrowserid/tests/bid_acq': free(): invalid pointer: 0x0000000000619940 ***
[...]
#3  0x00007ffff701a1d6 in _int_free () from /lib64/libc.so.6
#4  0x00007ffff77cb4e1 in BIDReleaseContext (context=0x6197b0) at bid_context.c:297
#5  0x0000000000400fa3 in main (argc=1, argv=0x7fffffffd778) at bid_acq.c:139

Upstream CryptoLoader changes break gss_browserid

Changes to Persona presumably to make it harder to interpose cryptography routines have broken gss_browserid, which relies on substitution jwcrypto.assertion.sign in order to insert additional claims into the assertion.

bidtool segfaults

$ LD_LIBRARY_PATH=.libs gdb .libs/bidtool
(gdb) set args tlist ; r
Ticket cache: /run/user/1000/browserid.tickets.json

Identity        Audience                  Issuer        Expires                 
--------------------------------------------------------------------------------
*** Error in `~/src/gss_browserid/libbrowserid/.libs/bidtool': free(): invalid pointer: 0x000000000061a940 ***
[...]
(gdb) bt
#3  0x00007ffff701a1d6 in _int_free () from /lib64/libc.so.6
#4  0x00007ffff7bcb4e1 in BIDReleaseContext (context=0x61a7b0) at bid_context.c:297
#5  0x000000000040103c in main (argc=0, argv=0x7fffffffd7a8) at bidtool.c:614

compile error

Could be solved with either an autotools check on the libcurl version number,
or some documentation in the "dependencies" section :

Using today's master branch and lib64curl-devel 7.28.1 on mageia 3 :

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DBUILD_GSSBID_LIB -I.. -I../libbrowserid -Werror -Wall -Wunused-parameter -g -O2 -MT libbrowserid_la-bid_curlhttp.lo -MD -MP -MF .deps/libbrowserid_la-bid_curlhttp.Tpo -c bid_curlhttp.c  -fPIC -DPIC -o .libs/libbrowserid_la-bid_curlhttp.o
bid_curlhttp.c: In function '_BIDInitCurlHandle':
bid_curlhttp.c:155:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:158:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:167:9: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:170:9: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:174:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:177:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:180:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:185:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:188:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c: In function '_BIDSetCurlIfModifiedSince':
bid_curlhttp.c:272:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
bid_curlhttp.c:275:5: error: comparison between 'CURLcode' and 'enum <anonymous>' [-Werror=enum-compare]
cc1: all warnings being treated as errors
make[3]: *** [libbrowserid_la-bid_curlhttp.lo] Erreur 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.