idna2008 (empty) → 0.0.1.0
raw patch · 51 files changed
+672/−0 lines, 51 filesdep +basedep +punycodedep +splitsetup-changedbinary-added
Dependencies added: base, punycode, split
Files
- .git/COMMIT_EDITMSG +14/−0
- .git/HEAD +1/−0
- .git/config +11/−0
- .git/description +1/−0
- .git/hooks/applypatch-msg.sample +15/−0
- .git/hooks/commit-msg.sample +24/−0
- .git/hooks/post-commit.sample +8/−0
- .git/hooks/post-receive.sample +15/−0
- .git/hooks/post-update.sample +8/−0
- .git/hooks/pre-applypatch.sample +14/−0
- .git/hooks/pre-commit.sample +46/−0
- .git/hooks/pre-rebase.sample +169/−0
- .git/hooks/prepare-commit-msg.sample +36/−0
- .git/hooks/update.sample +128/−0
- .git/index binary
- .git/info/exclude +6/−0
- .git/logs/HEAD +6/−0
- .git/logs/refs/heads/master +6/−0
- .git/logs/refs/remotes/origin/master +6/−0
- .git/objects/08/7c8ea3ecc2c24f4d5a5eb1b0c0f811717aed82 binary
- .git/objects/0b/1c9eb06af44e8f2bc06cf9363243a59bb3ac01 binary
- .git/objects/13/f70729e52090d1156c3e1f62ae66be8542797b binary
- .git/objects/17/f026fe6ed4a33b4c9edc2907c963632b9b3291 binary
- .git/objects/1f/e35cf0356895918ad9ee7fe7447b3abfd86f84 binary
- .git/objects/1f/fea57dd526f34d90842a8c8887b2e9bf759bc9 +3/−0
- .git/objects/3f/dc5625901c8267c1ff7d56f80119d11be5a910 binary
- .git/objects/40/c6ba8e364832e4809fffdbe3906117cb9068b5 binary
- .git/objects/46/b4a1e716b5f532807ce8dd6e7da2385fd32849 binary
- .git/objects/48/19c37f95ee6587632ec25888860d0ed8a10be7 +2/−0
- .git/objects/4d/1bb5d7839e1cb9d68d5737ade99f37034e81e0 +1/−0
- .git/objects/61/2cb26a52838e721b27ec57b2f8e251c34145b6 binary
- .git/objects/a2/44896a47106062e620c8234f79559c9774189f binary
- .git/objects/b9/20b58f391f218787f3c4e276f8c9dbeeec4d59 binary
- .git/objects/bb/2167f3693b784171911db91be5099894e0daed binary
- .git/objects/bf/2616e3691a3ae13936a558027ae66150c654c8 binary
- .git/objects/d3/3c109a63e86ff954aad9e27de53c8d71c64fa7 binary
- .git/objects/d4/f7d77b2b112f86977cd04fc44e1ddae5b527f5 binary
- .git/objects/d6/5c0dfc81c16740cddba08b247dd2e16c310f89 +2/−0
- .git/objects/d8/540eac9493ff33c9b29ff5e5c4483cee9acfde binary
- .git/objects/e0/d70a0343af358ab7f47f9c85967ea0c5928db2 binary
- .git/objects/e3/70998db2456dd1d04228be616ac53341c986d3 binary
- .git/objects/e8/ef27dbba9992f80d9271a60892aadc63c9ef36 binary
- .git/objects/ea/920d0f23900b939c421a371af6a434564f7fd0 binary
- .git/objects/f8/949e076d1ad396f7dda4c662ef11333a8ad98f binary
- .git/refs/heads/master +1/−0
- .git/refs/remotes/origin/master +1/−0
- Data/Text/IDNA2008.hs +40/−0
- LICENSE +28/−0
- README +14/−0
- Setup.hs +3/−0
- idna2008.cabal +63/−0
@@ -0,0 +1,14 @@++# Please enter the commit message for your changes. Lines starting+# with '#' will be ignored, and an empty message aborts the commit.+# On branch master+# Changes not staged for commit:+# (use "git add <file>..." to update what will be committed)+# (use "git checkout -- <file>..." to discard changes in working directory)+#+# modified: README+#+# Untracked files:+# (use "git add <file>..." to include in what will be committed)+#+# dist/
@@ -0,0 +1,1 @@+ref: refs/heads/master
@@ -0,0 +1,11 @@+[core]+ repositoryformatversion = 0+ filemode = true+ bare = false+ logallrefupdates = true+[remote "origin"]+ url = git@github.com:jonkri/idna2008.git+ fetch = +refs/heads/*:refs/remotes/origin/*+[branch "master"]+ remote = origin+ merge = refs/heads/master
@@ -0,0 +1,1 @@+Unnamed repository; edit this file 'description' to name the repository.
@@ -0,0 +1,15 @@+#!/bin/sh+#+# An example hook script to check the commit log message taken by+# applypatch from an e-mail message.+#+# The hook should exit with non-zero status after issuing an+# appropriate message if it wants to stop the commit. The hook is+# allowed to edit the commit message file.+#+# To enable this hook, rename this file to "applypatch-msg".++. git-sh-setup+test -x "$GIT_DIR/hooks/commit-msg" &&+ exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}+:
@@ -0,0 +1,24 @@+#!/bin/sh+#+# An example hook script to check the commit log message.+# Called by "git commit" with one argument, the name of the file+# that has the commit message. The hook should exit with non-zero+# status after issuing an appropriate message if it wants to stop the+# commit. The hook is allowed to edit the commit message file.+#+# To enable this hook, rename this file to "commit-msg".++# Uncomment the below to add a Signed-off-by line to the message.+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg+# hook is more suited to it.+#+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"++# This example catches duplicate Signed-off-by lines.++test "" = "$(grep '^Signed-off-by: ' "$1" |+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {+ echo >&2 Duplicate Signed-off-by lines.+ exit 1+}
@@ -0,0 +1,8 @@+#!/bin/sh+#+# An example hook script that is called after a successful+# commit is made.+#+# To enable this hook, rename this file to "post-commit".++: Nothing
@@ -0,0 +1,15 @@+#!/bin/sh+#+# An example hook script for the "post-receive" event.+#+# The "post-receive" script is run after receive-pack has accepted a pack+# and the repository has been updated. It is passed arguments in through+# stdin in the form+# <oldrev> <newrev> <refname>+# For example:+# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master+#+# see contrib/hooks/ for a sample, or uncomment the next line and+# rename the file to "post-receive".++#. /usr/share/git-core/contrib/hooks/post-receive-email
@@ -0,0 +1,8 @@+#!/bin/sh+#+# An example hook script to prepare a packed repository for use over+# dumb transports.+#+# To enable this hook, rename this file to "post-update".++exec git update-server-info
@@ -0,0 +1,14 @@+#!/bin/sh+#+# An example hook script to verify what is about to be committed+# by applypatch from an e-mail message.+#+# The hook should exit with non-zero status after issuing an+# appropriate message if it wants to stop the commit.+#+# To enable this hook, rename this file to "pre-applypatch".++. git-sh-setup+test -x "$GIT_DIR/hooks/pre-commit" &&+ exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}+:
@@ -0,0 +1,46 @@+#!/bin/sh+#+# An example hook script to verify what is about to be committed.+# Called by "git commit" with no arguments. The hook should+# exit with non-zero status after issuing an appropriate message if+# it wants to stop the commit.+#+# To enable this hook, rename this file to "pre-commit".++if git rev-parse --verify HEAD >/dev/null 2>&1+then+ against=HEAD+else+ # Initial commit: diff against an empty tree object+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904+fi++# If you want to allow non-ascii filenames set this variable to true.+allownonascii=$(git config hooks.allownonascii)++# Cross platform projects tend to avoid non-ascii filenames; prevent+# them from being added to the repository. We exploit the fact that the+# printable range starts at the space character and ends with tilde.+if [ "$allownonascii" != "true" ] &&+ # Note that the use of brackets around a tr range is ok here, (it's+ # even required, for portability to Solaris 10's /usr/bin/tr), since+ # the square bracket bytes happen to fall in the designated range.+ test "$(git diff --cached --name-only --diff-filter=A -z $against |+ LC_ALL=C tr -d '[ -~]\0')"+then+ echo "Error: Attempt to add a non-ascii file name."+ echo+ echo "This can cause problems if you want to work"+ echo "with people on other platforms."+ echo+ echo "To be portable it is advisable to rename the file ..."+ echo+ echo "If you know what you are doing you can disable this"+ echo "check using:"+ echo+ echo " git config hooks.allownonascii true"+ echo+ exit 1+fi++exec git diff-index --check --cached $against --
@@ -0,0 +1,169 @@+#!/bin/sh+#+# Copyright (c) 2006, 2008 Junio C Hamano+#+# The "pre-rebase" hook is run just before "git rebase" starts doing+# its job, and can prevent the command from running by exiting with+# non-zero status.+#+# The hook is called with the following parameters:+#+# $1 -- the upstream the series was forked from.+# $2 -- the branch being rebased (or empty when rebasing the current branch).+#+# This sample shows how to prevent topic branches that are already+# merged to 'next' branch from getting rebased, because allowing it+# would result in rebasing already published history.++publish=next+basebranch="$1"+if test "$#" = 2+then+ topic="refs/heads/$2"+else+ topic=`git symbolic-ref HEAD` ||+ exit 0 ;# we do not interrupt rebasing detached HEAD+fi++case "$topic" in+refs/heads/??/*)+ ;;+*)+ exit 0 ;# we do not interrupt others.+ ;;+esac++# Now we are dealing with a topic branch being rebased+# on top of master. Is it OK to rebase it?++# Does the topic really exist?+git show-ref -q "$topic" || {+ echo >&2 "No such branch $topic"+ exit 1+}++# Is topic fully merged to master?+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`+if test -z "$not_in_master"+then+ echo >&2 "$topic is fully merged to master; better remove it."+ exit 1 ;# we could allow it, but there is no point.+fi++# Is topic ever merged to next? If so you should not be rebasing it.+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`+only_next_2=`git rev-list ^master ${publish} | sort`+if test "$only_next_1" = "$only_next_2"+then+ not_in_topic=`git rev-list "^$topic" master`+ if test -z "$not_in_topic"+ then+ echo >&2 "$topic is already up-to-date with master"+ exit 1 ;# we could allow it, but there is no point.+ else+ exit 0+ fi+else+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`+ /usr/bin/perl -e '+ my $topic = $ARGV[0];+ my $msg = "* $topic has commits already merged to public branch:\n";+ my (%not_in_next) = map {+ /^([0-9a-f]+) /;+ ($1 => 1);+ } split(/\n/, $ARGV[1]);+ for my $elem (map {+ /^([0-9a-f]+) (.*)$/;+ [$1 => $2];+ } split(/\n/, $ARGV[2])) {+ if (!exists $not_in_next{$elem->[0]}) {+ if ($msg) {+ print STDERR $msg;+ undef $msg;+ }+ print STDERR " $elem->[1]\n";+ }+ }+ ' "$topic" "$not_in_next" "$not_in_master"+ exit 1+fi++exit 0++################################################################++This sample hook safeguards topic branches that have been+published from being rewound.++The workflow assumed here is:++ * Once a topic branch forks from "master", "master" is never+ merged into it again (either directly or indirectly).++ * Once a topic branch is fully cooked and merged into "master",+ it is deleted. If you need to build on top of it to correct+ earlier mistakes, a new topic branch is created by forking at+ the tip of the "master". This is not strictly necessary, but+ it makes it easier to keep your history simple.++ * Whenever you need to test or publish your changes to topic+ branches, merge them into "next" branch.++The script, being an example, hardcodes the publish branch name+to be "next", but it is trivial to make it configurable via+$GIT_DIR/config mechanism.++With this workflow, you would want to know:++(1) ... if a topic branch has ever been merged to "next". Young+ topic branches can have stupid mistakes you would rather+ clean up before publishing, and things that have not been+ merged into other branches can be easily rebased without+ affecting other people. But once it is published, you would+ not want to rewind it.++(2) ... if a topic branch has been fully merged to "master".+ Then you can delete it. More importantly, you should not+ build on top of it -- other people may already want to+ change things related to the topic as patches against your+ "master", so if you need further changes, it is better to+ fork the topic (perhaps with the same name) afresh from the+ tip of "master".++Let's look at this example:++ o---o---o---o---o---o---o---o---o---o "next"+ / / / /+ / a---a---b A / /+ / / / /+ / / c---c---c---c B /+ / / / \ /+ / / / b---b C \ /+ / / / / \ /+ ---o---o---o---o---o---o---o---o---o---o---o "master"+++A, B and C are topic branches.++ * A has one fix since it was merged up to "next".++ * B has finished. It has been fully merged up to "master" and "next",+ and is ready to be deleted.++ * C has not merged to "next" at all.++We would want to allow C to be rebased, refuse A, and encourage+B to be deleted.++To compute (1):++ git rev-list ^master ^topic next+ git rev-list ^master next++ if these match, topic has not merged in next at all.++To compute (2):++ git rev-list master..topic++ if this is empty, it is fully merged to "master".
@@ -0,0 +1,36 @@+#!/bin/sh+#+# An example hook script to prepare the commit log message.+# Called by "git commit" with the name of the file that has the+# commit message, followed by the description of the commit+# message's source. The hook's purpose is to edit the commit+# message file. If the hook fails with a non-zero status,+# the commit is aborted.+#+# To enable this hook, rename this file to "prepare-commit-msg".++# This hook includes three examples. The first comments out the+# "Conflicts:" part of a merge commit.+#+# The second includes the output of "git diff --name-status -r"+# into the message, just before the "git status" output. It is+# commented because it doesn't cope with --amend or with squashed+# commits.+#+# The third example adds a Signed-off-by line to the message, that can+# still be edited. This is rarely a good idea.++case "$2,$3" in+ merge,)+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;++# ,|template,)+# /usr/bin/perl -i.bak -pe '+# print "\n" . `git diff --cached --name-status -r`+# if /^#/ && $first++ == 0' "$1" ;;++ *) ;;+esac++# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
@@ -0,0 +1,128 @@+#!/bin/sh+#+# An example hook script to blocks unannotated tags from entering.+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new+#+# To enable this hook, rename this file to "update".+#+# Config+# ------+# hooks.allowunannotated+# This boolean sets whether unannotated tags will be allowed into the+# repository. By default they won't be.+# hooks.allowdeletetag+# This boolean sets whether deleting tags will be allowed in the+# repository. By default they won't be.+# hooks.allowmodifytag+# This boolean sets whether a tag may be modified after creation. By default+# it won't be.+# hooks.allowdeletebranch+# This boolean sets whether deleting branches will be allowed in the+# repository. By default they won't be.+# hooks.denycreatebranch+# This boolean sets whether remotely creating branches will be denied+# in the repository. By default this is allowed.+#++# --- Command line+refname="$1"+oldrev="$2"+newrev="$3"++# --- Safety check+if [ -z "$GIT_DIR" ]; then+ echo "Don't run this script from the command line." >&2+ echo " (if you want, you could supply GIT_DIR then run" >&2+ echo " $0 <ref> <oldrev> <newrev>)" >&2+ exit 1+fi++if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then+ echo "Usage: $0 <ref> <oldrev> <newrev>" >&2+ exit 1+fi++# --- Config+allowunannotated=$(git config --bool hooks.allowunannotated)+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)+denycreatebranch=$(git config --bool hooks.denycreatebranch)+allowdeletetag=$(git config --bool hooks.allowdeletetag)+allowmodifytag=$(git config --bool hooks.allowmodifytag)++# check for no description+projectdesc=$(sed -e '1q' "$GIT_DIR/description")+case "$projectdesc" in+"Unnamed repository"* | "")+ echo "*** Project description file hasn't been set" >&2+ exit 1+ ;;+esac++# --- Check types+# if $newrev is 0000...0000, it's a commit to delete a ref.+zero="0000000000000000000000000000000000000000"+if [ "$newrev" = "$zero" ]; then+ newrev_type=delete+else+ newrev_type=$(git cat-file -t $newrev)+fi++case "$refname","$newrev_type" in+ refs/tags/*,commit)+ # un-annotated tag+ short_refname=${refname##refs/tags/}+ if [ "$allowunannotated" != "true" ]; then+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2+ exit 1+ fi+ ;;+ refs/tags/*,delete)+ # delete tag+ if [ "$allowdeletetag" != "true" ]; then+ echo "*** Deleting a tag is not allowed in this repository" >&2+ exit 1+ fi+ ;;+ refs/tags/*,tag)+ # annotated tag+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1+ then+ echo "*** Tag '$refname' already exists." >&2+ echo "*** Modifying a tag is not allowed in this repository." >&2+ exit 1+ fi+ ;;+ refs/heads/*,commit)+ # branch+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then+ echo "*** Creating a branch is not allowed in this repository" >&2+ exit 1+ fi+ ;;+ refs/heads/*,delete)+ # delete branch+ if [ "$allowdeletebranch" != "true" ]; then+ echo "*** Deleting a branch is not allowed in this repository" >&2+ exit 1+ fi+ ;;+ refs/remotes/*,commit)+ # tracking branch+ ;;+ refs/remotes/*,delete)+ # delete tracking branch+ if [ "$allowdeletebranch" != "true" ]; then+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2+ exit 1+ fi+ ;;+ *)+ # Anything else (is there anything else?)+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2+ exit 1+ ;;+esac++# --- Finished+exit 0
binary file changed (absent → 416 bytes)
@@ -0,0 +1,6 @@+# git ls-files --others --exclude-from=.git/info/exclude+# Lines that start with '#' are comments.+# For a project mostly in C, the following would be a good set of+# exclude patterns (uncomment them if you want to use them):+# *.[oa]+# *~
@@ -0,0 +1,6 @@+0000000000000000000000000000000000000000 1fe35cf0356895918ad9ee7fe7447b3abfd86f84 Jon Kristensen <info@jonkristensen.com> 1309716388 +0200 commit (initial): initial commit with README file+1fe35cf0356895918ad9ee7fe7447b3abfd86f84 13f70729e52090d1156c3e1f62ae66be8542797b Jon Kristensen <info@jonkristensen.com> 1309716447 +0200 commit: Added LICENSE file+13f70729e52090d1156c3e1f62ae66be8542797b a244896a47106062e620c8234f79559c9774189f Jon Kristensen <info@jonkristensen.com> 1309716517 +0200 commit: added initial Cabal file+a244896a47106062e620c8234f79559c9774189f 4d1bb5d7839e1cb9d68d5737ade99f37034e81e0 Jon Kristensen <info@jonkristensen.com> 1309716588 +0200 commit: Added the Setup.hs file+4d1bb5d7839e1cb9d68d5737ade99f37034e81e0 d65c0dfc81c16740cddba08b247dd2e16c310f89 Jon Kristensen <info@jonkristensen.com> 1309716881 +0200 commit: corrected a small error in the Cabal file and created an empty IDNA2008 module+d65c0dfc81c16740cddba08b247dd2e16c310f89 e0d70a0343af358ab7f47f9c85967ea0c5928db2 Jon Kristensen <info@jonkristensen.com> 1309862355 +0200 commit: used punycode to convert a hostname to ASCII; updated the Cabal and README files
@@ -0,0 +1,6 @@+0000000000000000000000000000000000000000 1fe35cf0356895918ad9ee7fe7447b3abfd86f84 Jon Kristensen <info@jonkristensen.com> 1309716388 +0200 commit (initial): initial commit with README file+1fe35cf0356895918ad9ee7fe7447b3abfd86f84 13f70729e52090d1156c3e1f62ae66be8542797b Jon Kristensen <info@jonkristensen.com> 1309716447 +0200 commit: Added LICENSE file+13f70729e52090d1156c3e1f62ae66be8542797b a244896a47106062e620c8234f79559c9774189f Jon Kristensen <info@jonkristensen.com> 1309716517 +0200 commit: added initial Cabal file+a244896a47106062e620c8234f79559c9774189f 4d1bb5d7839e1cb9d68d5737ade99f37034e81e0 Jon Kristensen <info@jonkristensen.com> 1309716588 +0200 commit: Added the Setup.hs file+4d1bb5d7839e1cb9d68d5737ade99f37034e81e0 d65c0dfc81c16740cddba08b247dd2e16c310f89 Jon Kristensen <info@jonkristensen.com> 1309716881 +0200 commit: corrected a small error in the Cabal file and created an empty IDNA2008 module+d65c0dfc81c16740cddba08b247dd2e16c310f89 e0d70a0343af358ab7f47f9c85967ea0c5928db2 Jon Kristensen <info@jonkristensen.com> 1309862355 +0200 commit: used punycode to convert a hostname to ASCII; updated the Cabal and README files
@@ -0,0 +1,6 @@+0000000000000000000000000000000000000000 1fe35cf0356895918ad9ee7fe7447b3abfd86f84 Jon Kristensen <info@jonkristensen.com> 1309716418 +0200 update by push+1fe35cf0356895918ad9ee7fe7447b3abfd86f84 13f70729e52090d1156c3e1f62ae66be8542797b Jon Kristensen <info@jonkristensen.com> 1309716462 +0200 update by push+13f70729e52090d1156c3e1f62ae66be8542797b a244896a47106062e620c8234f79559c9774189f Jon Kristensen <info@jonkristensen.com> 1309716533 +0200 update by push+a244896a47106062e620c8234f79559c9774189f 4d1bb5d7839e1cb9d68d5737ade99f37034e81e0 Jon Kristensen <info@jonkristensen.com> 1309716609 +0200 update by push+4d1bb5d7839e1cb9d68d5737ade99f37034e81e0 d65c0dfc81c16740cddba08b247dd2e16c310f89 Jon Kristensen <info@jonkristensen.com> 1309716914 +0200 update by push+d65c0dfc81c16740cddba08b247dd2e16c310f89 e0d70a0343af358ab7f47f9c85967ea0c5928db2 Jon Kristensen <info@jonkristensen.com> 1309862404 +0200 update by push
binary file changed (absent → 184 bytes)
binary file changed (absent → 824 bytes)
binary file changed (absent → 170 bytes)
binary file changed (absent → 47 bytes)
binary file changed (absent → 147 bytes)
@@ -0,0 +1,3 @@+x]ÍNÃ09ç)æHõG¨´·@"åxÛX¸»í¶*oÄkðd¸á84o5ÓÙìjÓv¢,dÐGå?ÈZXÓ8åÎRøCßh ä¼ö1¤9V!+ÊOÒ´ìa°ÚGCáDıPÔeU!-ÊUÅïlZÑâxï|cªmÅiÅ-ádBj¹.&£ÑÒ··óùxê?Ë_æz`N¾·¦ÞòH/Ù¯N´b³<IJéÏÎìºï/LFãñ5ñìÄ8O8Â`ñpäÉIÇàæ²Ñm"æâ×8°& ûzy3AÎQá¥*Wëz 8h+ÊX'?vT
binary file changed (absent → 825 bytes)
binary file changed (absent → 51 bytes)
binary file changed (absent → 46 bytes)
@@ -0,0 +1,2 @@+xuRAnÛ0ìY¯X>(vz 8hjS; àô%m,6)«¶*ò¡~£/+äªFH69ÃÝᦥNa>_¾Ná5rÎàÉ Í5ÚÌȤVø 2KuB[R¢B"Ë´ñ{¤a³¾»¾Í.ùàJ׸è°ß¿àb6ÃVðÑHK¨,*>°ÿÞï×oÝ&ïïTä^4úªUò2{WkÙØD÷$RYJj¹L£¬[ÈÀ½6G¨ö/ì>+éüáà\c4J°yQÊ'ðP x´5Æ ¢² ÚhÒÔÖs=¡r×ÐË(*.¬äPÒç1éëýj³9ï"Y±¶@ݺt ölÆâù ìkgbË?Ô°m?]Ý6Æ ×qߨÖoÖ5X¿VßÐÐÿrÑÎåi>àÝ:óAX,ÜÝé»RVÖG+Áä3Üi*÷%VOå[bi£0 áKª=-÷oºqõ¬.é¾Ré³¾Ç èËP«ÐÅgÉP4à#i¾Â߯uƼ%T¢îAhqR²|íߦcéÆQe`®#:ñúûïÃèüûHM
@@ -0,0 +1,1 @@+x¥;nÃ0]óÛ0ËïA´NéÐämDß?ªr´óû²ÌÈáil" V2xgÃÙN&èT}²Æ:ok¨Õ6iYùFÄæHæ°Ø9ÎÕ«Jï1õ ®½ÁÏ6ïCÚ. >æVû×£·ç»ä¾|6ÈA{#ÕAÐ!ÿ¸PߥH1 Üd¼×Ë´C_¢~mO1
binary file changed (absent → 829 bytes)
binary file changed (absent → 172 bytes)
binary file changed (absent → 82 bytes)
binary file changed (absent → 358 bytes)
binary file changed (absent → 185 bytes)
binary file changed (absent → 73 bytes)
binary file changed (absent → 56 bytes)
@@ -0,0 +1,2 @@+x¥MJ1]÷)Þ^¤Ó¤ADÑ+Þá%ùÂDó3¤3oopáÜEQ¾)¡oFHXã-XÁûÕ¯[Üf 'ð"Z)4`×åÂuФs:«vHïöp²Ae8`ߣ2Bm°báë8·NoÒ{OÇ@=Pé>ÕØ?[ýúcw¾JìF¬t+V!IçèÀ?³Ñ;ü@ ¦£pÎÞçTª4Î gv)¦âÈwð¯[ å2¾éõåãi®X*-\3,dc
binary file changed (absent → 815 bytes)
binary file changed (absent → 217 bytes)
binary file changed (absent → 121 bytes)
binary file changed (absent → 60 bytes)
binary file changed (absent → 154 bytes)
binary file changed (absent → 56 bytes)
@@ -0,0 +1,1 @@+e0d70a0343af358ab7f47f9c85967ea0c5928db2
@@ -0,0 +1,1 @@+e0d70a0343af358ab7f47f9c85967ea0c5928db2
@@ -0,0 +1,40 @@+-- |+-- Module: $Header$+-- Description: Encoding hostnames according to IDNA2008+-- Copyright: Copyright © 2011 Jon Kristensen+-- License: BSD3+--+-- Maintainer: jon.kristensen@pontarius.org+-- Stability: unstable+-- Portability: portable+--+-- Makes a Unicode hostname internationalized. The code is currently prototyped+-- and untested.+++module Data.Text.IDNA2008 (toASCII) where++import Data.List (intersperse)+import Data.List.Split (splitOn)+import Data.Maybe (fromJust)+import Data.Text.Punycode (encode)+++-- |+-- Converts a Unicode hostname into an internationalized ASCII hostname.++toASCII :: String -> Maybe String++toASCII t = if Nothing `elem` encodedLabels+ then Nothing+ else Just encodedHostname+ where++ labels :: [String]+ labels = splitOn "." t++ encodedLabels :: [Maybe String]+ encodedLabels = map encode labels++ encodedHostname :: String+ encodedHostname = concat $ intersperse "." $ map fromJust encodedLabels
@@ -0,0 +1,28 @@+Copyright © 2010-2011, Jon Kristensen.++All rights reserved.++Redistribution and use in source and binary forms, with or without modification,+are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright notice, this+ list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above copyright notice,+ this list of conditions and the following disclaimer in the documentation+ and/or other materials provided with the distribution.++ * The names of the idna2008 project's contributors may not be used to endorse+ or promote products derived from this software without specific prior+ written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL JON KRISTENSEN BE LIABLE FOR ANY DIRECT, INDIRECT,+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,14 @@+The goal of this Haskell library is to support conversions of+(internationalized) domain names between the ASCII (ACE) and Unicode encodings+in accordance with IDNA2008 (RFC 5991: Internationalized Domain Names in+Applications (IDNA): Protocol).++The current version, 0.0.1.0, supports encoding a Unicode hostname to an ASCII+hostname. Note however that the code is currently prototyped and untested.++A later version will add validation support.++Copyright © 2011, Jon Kristensen.+All rights reserved.++This library is licensed under a BSD-3 license. See LICENSE for details.
@@ -0,0 +1,3 @@+import Distribution.Simple++main = defaultMain
@@ -0,0 +1,63 @@+Name: idna2008+Version: 0.0.1.0+Cabal-Version: >= 1.6+Build-Type: Simple+License: BSD3+License-File: LICENSE+Copyright: Copyright © 2011, Jon Kristensen+Author: Jon Kristensen+Maintainer: jon.kristensen@pontarius.org+Stability: alpha+-- Homepage:+Bug-Reports: mailto:jon.kristensen@pontarius.org+-- Package-URL:+Synopsis: Converts Unicode hostnames into ASCII+Description: Library to convert internationalized domain names between+ the ASCII (ACE) and Unicode encodings in accordance with+ IDNA2008 (RFC 5991: Internationalized Domain Names in+ Applications (IDNA): Protocol). Unlike IDNA2003, IDNA2008 is+ not based on RFC 3454: Preparation of Internationalized+ Strings (\"stringprep\").+Category: Network+Tested-With: GHC ==7.0.2+-- Data-Files:+-- Data-Dir:+-- Extra-Source-Files:+-- Extra-Tmp-Files:++Library+ Exposed-Modules: Data.Text.IDNA2008+ Exposed: True+ Build-Depends: base >= 2 && < 5, punycode ==0.0.1.0, split+ -- Other-Modules:+ -- HS-Source-Dirs:+ -- Extensions:+ -- Build-Tools:+ -- Buildable:+ -- GHC-Options:+ -- GHC-Prof-Options:+ -- Hugs-Options:+ -- NHC98-Options:+ -- Includes:+ -- Install-Includes:+ -- Include-Dirs:+ -- C-Sources:+ -- Extra-Libraries:+ -- Extra-Lib-Dirs:+ -- CC-Options:+ -- LD-Options:+ -- Pkgconfig-Depends:+ -- Frameworks:++Source-Repository head+ Type: git+ -- Module:+ Location: git://github.com/jonkri/idna2008.git+ -- Subdir:++Source-Repository this+ Type: git+ -- Module:+ Location: git://github.com/jonkri/idna2008.git+ Tag: 0.0.1.0+ -- Subdir: